mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-03 03:59:12 +00:00
Pagination, filter, exception tests cases revamped (#2613)
This commit is contained in:
parent
09476bf4b1
commit
de6a06b013
@ -32,6 +32,20 @@ public class Common {
|
||||
By saveServiceButton = By.cssSelector("[data-testid='deploy-button']");
|
||||
By saveEditedService = By.cssSelector("[data-testid='save-button']");
|
||||
By saveConnectionConfig = By.cssSelector("[data-testid='saveManageTab']");
|
||||
By searchResults = By.cssSelector("[data-testid='search-results']");
|
||||
By searchBar = By.cssSelector("[data-testid='searchBox']");
|
||||
By searchSuggestion = By.cssSelector("[data-testid='data-name']");
|
||||
By editAssociatedTagButton = By.xpath("//div[@data-testid='tag-conatiner']//span");
|
||||
By enterAssociatedTagName = By.cssSelector("[data-testid='associatedTagName']");
|
||||
By tagListItem = By.cssSelector("[data-testid='list-item']");
|
||||
By saveAssociatedTag = By.cssSelector("[data-testid='saveAssociatedTag']");
|
||||
By searchResultsList = By.xpath("//div[@data-testid='search-results']/div");
|
||||
By ownerDropdown = By.cssSelector("[data-testid='owner-dropdown']");
|
||||
By ownerSearchBox = By.cssSelector("[data-testid='searchInputText']");
|
||||
By closeErrorMessage = By.cssSelector("[data-testid='dismiss']");
|
||||
By serviceUrl = By.cssSelector("[data-testid='url']");
|
||||
By servicePort = By.cssSelector("[data-testid='port']");
|
||||
By databaseName = By.cssSelector("[data-testid='database']");
|
||||
|
||||
public By displayName() {
|
||||
return displayName;
|
||||
@ -136,4 +150,88 @@ public class Common {
|
||||
public By headerSettingsMenu(String menuItem) {
|
||||
return By.cssSelector("[data-testid='menu-item-" + menuItem + "']");
|
||||
}
|
||||
|
||||
public By selectOverview(String overview) {
|
||||
return By.cssSelector("[data-testid='" + overview + "']");
|
||||
}
|
||||
|
||||
public By explorePagination(int index) {
|
||||
return By.xpath("//div[@data-testid='pagination-button']//ul//li[" + index + "]");
|
||||
}
|
||||
|
||||
public By selectFilterExplore(String filter) {
|
||||
return By.cssSelector("[data-testid='checkbox'][id='" + filter + "']");
|
||||
}
|
||||
|
||||
public By searchResults() {
|
||||
return searchResults;
|
||||
}
|
||||
|
||||
public By searchBar() {
|
||||
return searchBar;
|
||||
}
|
||||
|
||||
public By headerItem(String item) {
|
||||
return By.cssSelector("[data-testid='appbar-item'][id='" + item + "']");
|
||||
}
|
||||
|
||||
public By searchSuggestion() {
|
||||
return searchSuggestion;
|
||||
}
|
||||
|
||||
public By editAssociatedTagButton() {
|
||||
return editAssociatedTagButton;
|
||||
}
|
||||
|
||||
public By enterAssociatedTagName() {
|
||||
return enterAssociatedTagName;
|
||||
}
|
||||
|
||||
public By tagListItem() {
|
||||
return tagListItem;
|
||||
}
|
||||
|
||||
public By saveAssociatedTag() {
|
||||
return saveAssociatedTag;
|
||||
}
|
||||
|
||||
public By searchResultsList() {
|
||||
return searchResultsList;
|
||||
}
|
||||
|
||||
public By exploreFilterCount(String filter) {
|
||||
return By.xpath("//div[@data-testid='filter-container-" + filter + "']//span[@data-testid='filter-count']");
|
||||
}
|
||||
|
||||
public By entityTabIndex(int index) {
|
||||
return By.xpath("(//button[@data-testid='tab'])" + "[" + index + "]");
|
||||
}
|
||||
|
||||
public By selectSuggestionSearch(String result) {
|
||||
return By.cssSelector("[data-testid='data-name'][id='" + result + "']");
|
||||
}
|
||||
|
||||
public By ownerDropdown() {
|
||||
return ownerDropdown;
|
||||
}
|
||||
|
||||
public By ownerSearchBox() {
|
||||
return ownerSearchBox;
|
||||
}
|
||||
|
||||
public By closeErrorMessage() {
|
||||
return closeErrorMessage;
|
||||
}
|
||||
|
||||
public By serviceUrl() {
|
||||
return serviceUrl;
|
||||
}
|
||||
|
||||
public By servicePort() {
|
||||
return servicePort;
|
||||
}
|
||||
|
||||
public By databaseName() {
|
||||
return databaseName;
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,38 +10,11 @@ public class DatabaseServicePage {
|
||||
this.webDriver = webDriver;
|
||||
}
|
||||
|
||||
By serviceUrl = By.cssSelector("[data-testid='url']");
|
||||
By servicePort = By.cssSelector("[data-testid='port']");
|
||||
By databaseName = By.cssSelector("[data-testid='database']");
|
||||
By runIngestion = By.cssSelector("[data-testid='run']");
|
||||
By editIngestion = By.cssSelector("[data-testid='edit']");
|
||||
By deleteIngestion = By.cssSelector("[data-testid='delete']");
|
||||
By selectInterval = By.xpath("//select[@id='ingestionType']");
|
||||
|
||||
public By serviceType(String serviceType) {
|
||||
return By.cssSelector("[data-testid='" + serviceType + "']");
|
||||
}
|
||||
|
||||
public By servicePort() {
|
||||
return servicePort;
|
||||
}
|
||||
|
||||
public By serviceUrl() {
|
||||
return serviceUrl;
|
||||
}
|
||||
|
||||
public By databaseName() {
|
||||
return databaseName;
|
||||
}
|
||||
|
||||
public By deleteServiceButton(String serviceName) {
|
||||
return By.cssSelector("[data-testid='delete-service-" + serviceName + "']");
|
||||
}
|
||||
|
||||
public By serviceDetailsTabs(String tab) {
|
||||
return By.cssSelector("[data-testid='tab'][id='" + tab + "']");
|
||||
}
|
||||
|
||||
public By runIngestion() {
|
||||
return runIngestion;
|
||||
}
|
||||
|
||||
@ -18,7 +18,6 @@ import org.openqa.selenium.WebDriver;
|
||||
|
||||
public class TagsPage {
|
||||
WebDriver webDriver;
|
||||
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
|
||||
|
||||
public TagsPage(WebDriver webDriver) {
|
||||
this.webDriver = webDriver;
|
||||
@ -29,17 +28,12 @@ public class TagsPage {
|
||||
By addTagButton = By.cssSelector("[data-testid='add-new-tag-button']");
|
||||
By editTagDescription = By.cssSelector("[data-testid='editTagDescription']");
|
||||
By addAssociatedTagButton = By.cssSelector("[data-testid='tags']");
|
||||
By enterAssociatedTagName = By.cssSelector("[data-testid='associatedTagName']");
|
||||
By tagListItem = By.cssSelector("[data-testid='list-item']");
|
||||
By saveAssociatedTag = By.cssSelector("[data-testid='saveAssociatedTag']");
|
||||
By removeAssociatedTag = By.cssSelector("[data-testid='remove']");
|
||||
By tables = By.cssSelector("[data-testid='tables']");
|
||||
By tableLink = By.xpath("//button[@data-testid='table-link']");
|
||||
By lastTableLink = By.xpath("//button[@data-testid='table-link'][last()]");
|
||||
By tagUsageCount = By.cssSelector("[data-testid='usage-count']");
|
||||
By editAssociatedTagButton = By.xpath("//div[@data-testid='tag-conatiner']//span");
|
||||
By headerSettingsTags = By.cssSelector("[data-testid='menu-item-Tags']");
|
||||
By headerExplore = By.cssSelector("[data-testid='appbar-item'][id='explore']");
|
||||
By sortBy = By.cssSelector("[data-testid='sortBy']");
|
||||
|
||||
public By addTagCategory() {
|
||||
@ -58,18 +52,6 @@ public class TagsPage {
|
||||
return addAssociatedTagButton;
|
||||
}
|
||||
|
||||
public By enterAssociatedTagName() {
|
||||
return enterAssociatedTagName;
|
||||
}
|
||||
|
||||
public By tagListItem() {
|
||||
return tagListItem;
|
||||
}
|
||||
|
||||
public By saveAssociatedTag() {
|
||||
return saveAssociatedTag;
|
||||
}
|
||||
|
||||
public By removeAssociatedTag() {
|
||||
return removeAssociatedTag;
|
||||
}
|
||||
@ -98,10 +80,6 @@ public class TagsPage {
|
||||
return tagUsageCount;
|
||||
}
|
||||
|
||||
public By editAssociatedTagButton() {
|
||||
return editAssociatedTagButton;
|
||||
}
|
||||
|
||||
public By usageCountElementIndex(int index) {
|
||||
return By.xpath("(//a[@data-testid='usage-count'])[" + index + "]");
|
||||
}
|
||||
@ -122,12 +100,8 @@ public class TagsPage {
|
||||
return By.xpath("(//button[@data-testid='tab'])[" + index + "]//span[@data-testid='filter-count']");
|
||||
}
|
||||
|
||||
public By entityTabIndex(int index) {
|
||||
return By.xpath("(//button[@data-testid='tab'])" + "[" + index + "]");
|
||||
}
|
||||
|
||||
public By headerExplore() {
|
||||
return headerExplore;
|
||||
public By headerItem(String item) {
|
||||
return By.cssSelector("[data-testid='appbar-item'][id='" + item + "']");
|
||||
}
|
||||
|
||||
public By sortBy() {
|
||||
|
||||
@ -23,8 +23,8 @@ import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestMethodOrder;
|
||||
import org.openmetadata.catalog.selenium.events.Events;
|
||||
import org.openmetadata.catalog.selenium.objectRepository.Common;
|
||||
import org.openmetadata.catalog.selenium.properties.Property;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.Keys;
|
||||
import org.openqa.selenium.TimeoutException;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
@ -43,6 +43,7 @@ public class PaginationAndFilterTest {
|
||||
private static final Logger LOG = Logger.getLogger(PaginationAndFilterTest.class.getName());
|
||||
|
||||
static WebDriver webDriver;
|
||||
static Common common;
|
||||
static String url = Property.getInstance().getURL();
|
||||
static Actions actions;
|
||||
static WebDriverWait wait;
|
||||
@ -57,6 +58,7 @@ public class PaginationAndFilterTest {
|
||||
options.addArguments("--headless");
|
||||
options.addArguments("--window-size=1280,800");
|
||||
webDriver = new ChromeDriver(options);
|
||||
common = new Common(webDriver);
|
||||
actions = new Actions(webDriver);
|
||||
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
||||
webDriver.manage().window().maximize();
|
||||
@ -66,18 +68,16 @@ public class PaginationAndFilterTest {
|
||||
@Test
|
||||
@Order(1)
|
||||
public void checkFlikerInFilter() throws Exception {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables
|
||||
Events.click(webDriver, common.selectOverview("tables"));
|
||||
for (int i = 0; i <= 5; i++) {
|
||||
Events.click(webDriver, By.xpath("//div[@data-testid='pagination-button']//ul//li[2]")); // Next Page
|
||||
Events.click(webDriver, common.explorePagination(2));
|
||||
}
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='BigQuery']")); // Select Filter
|
||||
Events.click(webDriver, common.selectFilterExplore("BigQuery"));
|
||||
try {
|
||||
WebElement noDataFound =
|
||||
wait.until(
|
||||
ExpectedConditions.presenceOfElementLocated(
|
||||
By.xpath("//*[contains(text(), 'No matching data assets found')]")));
|
||||
wait.until(ExpectedConditions.presenceOfElementLocated(common.containsText("No matching data assets found")));
|
||||
if (noDataFound.isDisplayed()) {
|
||||
throw new Exception("Flakiness exists");
|
||||
}
|
||||
@ -89,15 +89,13 @@ public class PaginationAndFilterTest {
|
||||
@Test
|
||||
@Order(2)
|
||||
public void noDataPresentWithFilter() throws Exception {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='BigQuery']")); // Select Filter
|
||||
Events.click(webDriver, common.selectOverview("tables"));
|
||||
Events.click(webDriver, common.selectFilterExplore("BigQuery"));
|
||||
try {
|
||||
WebElement noDataFound =
|
||||
wait.until(
|
||||
ExpectedConditions.presenceOfElementLocated(
|
||||
By.xpath("//*[contains(text(), 'No matching data assets found')]")));
|
||||
wait.until(ExpectedConditions.presenceOfElementLocated(common.containsText("No matching data assets found")));
|
||||
if (noDataFound.isDisplayed()) {
|
||||
throw new Exception("Data not found with filter count more than 0");
|
||||
}
|
||||
@ -109,14 +107,12 @@ public class PaginationAndFilterTest {
|
||||
@Test
|
||||
@Order(3)
|
||||
public void dataPresentWithFilter() throws Exception {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='Tier.Tier3']")); // Select Filter
|
||||
Events.click(webDriver, common.selectOverview("tables"));
|
||||
Events.click(webDriver, common.selectFilterExplore("Tier.Tier3"));
|
||||
try {
|
||||
|
||||
WebElement dataFound =
|
||||
wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("[data-testid='search-results']")));
|
||||
WebElement dataFound = wait.until(ExpectedConditions.presenceOfElementLocated(common.searchResults()));
|
||||
if (dataFound.isDisplayed()) {
|
||||
throw new Exception("Data found with filter count 0");
|
||||
}
|
||||
@ -128,32 +124,32 @@ public class PaginationAndFilterTest {
|
||||
@Test
|
||||
@Order(4)
|
||||
public void leftPanelDisappearsCheck() throws InterruptedException {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Thread.sleep(waitTime);
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "zzzz");
|
||||
Events.sendEnter(webDriver, By.cssSelector("[data-testid='searchBox']"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), "zzzz");
|
||||
Events.sendEnter(webDriver, common.searchBar());
|
||||
webDriver.navigate().refresh();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='BigQuery']")); // Tables
|
||||
Events.click(webDriver, common.headerItem("explore"));
|
||||
Events.click(webDriver, common.selectFilterExplore("BigQuery"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(5)
|
||||
public void filterDisappearsAfterSearchCheck() throws Exception {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='BigQuery']"));
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "dim");
|
||||
Events.sendEnter(webDriver, By.cssSelector("[data-testid='searchBox']"));
|
||||
Events.click(webDriver, common.headerItem("explore"));
|
||||
Events.click(webDriver, common.selectFilterExplore("BigQuery"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), "dim");
|
||||
Events.sendEnter(webDriver, common.searchBar());
|
||||
Thread.sleep(2000);
|
||||
WebElement clearSearchBox = webDriver.findElement(By.cssSelector("[data-testid='searchBox']"));
|
||||
WebElement clearSearchBox = webDriver.findElement(common.searchBar());
|
||||
clearSearchBox.sendKeys(Keys.CONTROL + "a");
|
||||
clearSearchBox.sendKeys(Keys.DELETE);
|
||||
Events.sendEnter(webDriver, By.cssSelector("[data-testid='searchBox']"));
|
||||
Events.sendEnter(webDriver, common.searchBar());
|
||||
try {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='Glue']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='default']"));
|
||||
Events.click(webDriver, common.selectFilterExplore("Glue"));
|
||||
Events.click(webDriver, common.selectFilterExplore("default"));
|
||||
} catch (TimeoutException exception) {
|
||||
throw new Exception("filters are missing");
|
||||
}
|
||||
@ -162,31 +158,29 @@ public class PaginationAndFilterTest {
|
||||
@Test
|
||||
@Order(6)
|
||||
public void databaseFilterCountCheck() throws InterruptedException {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "dim_api_client");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
|
||||
Events.click(webDriver, common.headerItem("explore"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), "dim_api_client");
|
||||
Events.click(webDriver, common.searchSuggestion());
|
||||
Thread.sleep(waitTime);
|
||||
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='tag-conatiner']//span"))).perform();
|
||||
Events.click(webDriver, By.xpath("//div[@data-testid='tag-conatiner']//span"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
|
||||
actions.moveToElement(webDriver.findElement(common.editAssociatedTagButton())).perform();
|
||||
Events.click(webDriver, common.editAssociatedTagButton());
|
||||
Events.click(webDriver, common.enterAssociatedTagName());
|
||||
for (int i = 0; i <= 4; i++) {
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "P");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
|
||||
Events.sendKeys(webDriver, common.enterAssociatedTagName(), "P");
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
}
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
|
||||
Events.click(webDriver, common.saveAssociatedTag());
|
||||
webDriver.navigate().back();
|
||||
webDriver.navigate().refresh();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='PII.None']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='checkbox'][id='shopify']"));
|
||||
Thread.sleep(2000);
|
||||
Object filteredResults = webDriver.findElements(By.xpath("//div[@data-testid='search-results']/div")).size();
|
||||
String databaseCount =
|
||||
webDriver
|
||||
.findElement(By.xpath("//div[@data-testid='filter-container-shopify']//span[@data-testid='filter-count']"))
|
||||
.getAttribute("innerHTML");
|
||||
Assert.assertEquals(databaseCount, filteredResults);
|
||||
Events.click(webDriver, common.selectFilterExplore("PII.None"));
|
||||
Events.click(webDriver, common.selectFilterExplore("shopify"));
|
||||
Thread.sleep(2000);
|
||||
Object filteredResults = webDriver.findElements(common.searchResultsList()).size();
|
||||
String databaseCount = webDriver.findElement(common.exploreFilterCount("shopify")).getAttribute("innerHTML");
|
||||
Assert.assertEquals(databaseCount, filteredResults.toString());
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
|
||||
@ -8,8 +8,8 @@ import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestMethodOrder;
|
||||
import org.openmetadata.catalog.selenium.events.Events;
|
||||
import org.openmetadata.catalog.selenium.objectRepository.Common;
|
||||
import org.openmetadata.catalog.selenium.properties.Property;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.chrome.ChromeDriver;
|
||||
import org.openqa.selenium.chrome.ChromeOptions;
|
||||
@ -21,6 +21,7 @@ import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
public class PostIngestionTests {
|
||||
|
||||
static WebDriver webDriver;
|
||||
static Common common;
|
||||
static String url = Property.getInstance().getURL();
|
||||
static Actions actions;
|
||||
static WebDriverWait wait;
|
||||
@ -36,6 +37,7 @@ public class PostIngestionTests {
|
||||
options.addArguments("--headless");
|
||||
options.addArguments("--window-size=1280,800");
|
||||
webDriver = new ChromeDriver(options);
|
||||
common = new Common(webDriver);
|
||||
actions = new Actions(webDriver);
|
||||
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
||||
webDriver.manage().window().maximize();
|
||||
@ -54,29 +56,29 @@ public class PostIngestionTests {
|
||||
@Test
|
||||
@Order(1)
|
||||
public void setOwner() throws InterruptedException {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]")); // Dashboard
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Events.click(webDriver, common.headerItem("explore"));
|
||||
Events.click(webDriver, common.entityTabIndex(3));
|
||||
Thread.sleep(waitTime);
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), dashboard);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id='sample_superset34']"));
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]")); // Manage
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), "Cloud");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='saveManageTab']")); // Save
|
||||
Events.sendKeys(webDriver, common.searchBar(), dashboard);
|
||||
Events.click(webDriver, common.selectSuggestionSearch("sample_superset34"));
|
||||
Events.click(webDriver, common.entityTabIndex(3));
|
||||
Events.click(webDriver, common.ownerDropdown());
|
||||
Events.sendKeys(webDriver, common.ownerSearchBox(), "Cloud");
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
Events.click(webDriver, common.saveConnectionConfig());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(2)
|
||||
public void checkOwnerPostIngestion() throws InterruptedException, IOException {
|
||||
ingestSampleDataPostTests();
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Events.click(webDriver, common.headerItem("explore"));
|
||||
Thread.sleep(waitTime);
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), dashboard);
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id='sample_superset34']"));
|
||||
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]")); // Manage
|
||||
Events.click(webDriver, By.xpath("//*[contains(text(), 'Cloud_Infra')]"));
|
||||
Events.sendKeys(webDriver, common.searchBar(), dashboard);
|
||||
Events.click(webDriver, common.selectSuggestionSearch("sample_superset34"));
|
||||
Events.click(webDriver, common.entityTabIndex(3));
|
||||
Events.click(webDriver, common.containsText("Cloud_Infra"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,26 +11,25 @@ import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestMethodOrder;
|
||||
import org.openmetadata.catalog.selenium.events.Events;
|
||||
import org.openmetadata.catalog.selenium.objectRepository.Common;
|
||||
import org.openmetadata.catalog.selenium.properties.Property;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.chrome.ChromeDriver;
|
||||
import org.openqa.selenium.chrome.ChromeOptions;
|
||||
import org.openqa.selenium.devtools.DevTools;
|
||||
import org.openqa.selenium.devtools.v95.fetch.Fetch;
|
||||
import org.openqa.selenium.interactions.Actions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.testng.Assert;
|
||||
|
||||
@Order(16)
|
||||
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
||||
public class UiExceptionHandling {
|
||||
|
||||
static ChromeDriver webDriver;
|
||||
static Common common;
|
||||
static DevTools devTools;
|
||||
static String url = Property.getInstance().getURL();
|
||||
static Actions actions;
|
||||
static WebDriverWait wait;
|
||||
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
|
||||
static Faker faker = new Faker();
|
||||
static String serviceName = faker.name().firstName();
|
||||
String webDriverInstance = Property.getInstance().getWebDriver();
|
||||
@ -72,6 +71,7 @@ public class UiExceptionHandling {
|
||||
options.addArguments("--headless");
|
||||
options.addArguments("--window-size=1280,800");
|
||||
webDriver = new ChromeDriver(options);
|
||||
common = new Common(webDriver);
|
||||
actions = new Actions(webDriver);
|
||||
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
||||
webDriver.manage().window().maximize();
|
||||
@ -82,77 +82,81 @@ public class UiExceptionHandling {
|
||||
@Test
|
||||
public void exceptionCheckForUserList() {
|
||||
interceptor("users", "testing");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Users']")); // Setting/Users
|
||||
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + "Request failed with status code 400" + "')]]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='dismiss']"));
|
||||
Assert.assertEquals(400, 400);
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Events.click(webDriver, common.headerSettings());
|
||||
Events.click(webDriver, common.headerSettingsMenu("Users"));
|
||||
Events.click(webDriver, common.containsText("Request failed with status code 400"));
|
||||
Events.click(webDriver, common.closeErrorMessage());
|
||||
// Assert.assertEquals(400, 400);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void exceptionCheckForGetServices() throws InterruptedException {
|
||||
interceptor("databaseService", "testing");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Events.click(webDriver, common.headerSettings());
|
||||
Events.click(webDriver, common.headerSettingsMenu("Services"));
|
||||
Thread.sleep(2000);
|
||||
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + "No services found" + "')]]"));
|
||||
Assert.assertEquals(500, 500);
|
||||
Events.click(webDriver, common.containsText("No services found"));
|
||||
// Assert.assertEquals(500, 500);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void exceptionCheckFor() {
|
||||
interceptor("services/databaseServices", "services/testing");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
|
||||
Events.click(webDriver, common.closeWhatsNew()); // Close What's new
|
||||
Events.click(webDriver, common.headerSettings()); // Setting
|
||||
Events.click(webDriver, common.headerSettingsMenu("Services")); // Setting/Services
|
||||
}
|
||||
|
||||
@Test
|
||||
public void exceptionCheckForPostService() {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='selectService']"));
|
||||
Events.click(webDriver, By.cssSelector("[value='MySQL']"));
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='url']"), "localhost:3306");
|
||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='database']"), "openmetadata_db");
|
||||
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Events.click(webDriver, common.headerSettings()); // Setting
|
||||
Events.click(webDriver, common.headerSettingsMenu("Services")); // Setting/Services
|
||||
Events.click(webDriver, common.noServicesAddServiceButton());
|
||||
Events.click(webDriver, common.serviceType("MySQL"));
|
||||
Events.click(webDriver, common.nextButton());
|
||||
Events.sendKeys(webDriver, common.serviceName(), serviceName);
|
||||
Events.click(webDriver, common.descriptionBoldButton());
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.nextButton());
|
||||
Events.sendKeys(webDriver, common.serviceUrl(), "localhost");
|
||||
Events.sendKeys(webDriver, common.servicePort(), "3306");
|
||||
Events.sendKeys(webDriver, common.serviceUsername(), "openmetadata_user");
|
||||
Events.sendKeys(webDriver, common.servicePassword(), "openmetadata_password");
|
||||
Events.sendKeys(webDriver, common.databaseName(), "openmetadata_db");
|
||||
interceptor("services/databaseServices", "services/testing");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
||||
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + "Request failed with status code 500" + "')]]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='dismiss']"));
|
||||
Assert.assertEquals(500, 500);
|
||||
Events.click(webDriver, common.nextButton());
|
||||
Events.click(webDriver, common.nextButton());
|
||||
Events.click(webDriver, common.saveServiceButton());
|
||||
// Assert.assertEquals(500, 500);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void exceptionCheckForUpdateService() {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-service-" + "bigquery_gcp" + "']"));
|
||||
Events.click(webDriver, By.xpath(enterDescription));
|
||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Events.click(webDriver, common.headerSettings()); // Setting
|
||||
Events.click(webDriver, common.headerSettingsMenu("Services")); // Setting/Services
|
||||
Events.click(webDriver, common.containsText("bigquery_gcp"));
|
||||
Events.click(webDriver, common.editTagCategoryDescription());
|
||||
Events.click(webDriver, common.addDescriptionString());
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
interceptor("services/databaseServices", "services/testing");
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
||||
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + "Request failed with status code 500" + "')]]"));
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='dismiss']"));
|
||||
Assert.assertEquals(500, 500);
|
||||
Events.click(webDriver, common.editDescriptionSaveButton());
|
||||
Events.click(webDriver, common.containsText("Request failed with status code 500"));
|
||||
Events.click(webDriver, common.closeErrorMessage());
|
||||
// Assert.assertEquals(500, 500);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void exceptionCheckForDeleteService() {
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
|
||||
Events.click(webDriver, By.cssSelector("[data-testid='delete-service-" + "bigquery_gcp" + "']"));
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Events.click(webDriver, common.headerSettings()); // Setting
|
||||
Events.click(webDriver, common.headerSettingsMenu("Services")); // Setting/Services
|
||||
Events.click(webDriver, common.deleteServiceButton("bigquery_gcp"));
|
||||
interceptor("services/databaseServices", "services/testing");
|
||||
Assert.assertEquals(500, 500);
|
||||
// Assert.assertEquals(500, 500);
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
|
||||
@ -98,11 +98,11 @@ public class DatabaseServicePageTest {
|
||||
Events.click(webDriver, common.descriptionLinkButton());
|
||||
Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString());
|
||||
Events.click(webDriver, common.nextButton());
|
||||
Events.sendKeys(webDriver, databaseServicePage.serviceUrl(), "localhost");
|
||||
Events.sendKeys(webDriver, databaseServicePage.servicePort(), "3306");
|
||||
Events.sendKeys(webDriver, common.serviceUrl(), "localhost");
|
||||
Events.sendKeys(webDriver, common.servicePort(), "3306");
|
||||
Events.sendKeys(webDriver, common.serviceUsername(), "openmetadata_user");
|
||||
Events.sendKeys(webDriver, common.servicePassword(), "openmetadata_password");
|
||||
Events.sendKeys(webDriver, databaseServicePage.databaseName(), "openmetadata_db");
|
||||
Events.sendKeys(webDriver, common.databaseName(), "openmetadata_db");
|
||||
Events.click(webDriver, common.nextButton());
|
||||
Events.click(webDriver, common.nextButton());
|
||||
Events.click(webDriver, common.saveServiceButton());
|
||||
@ -149,7 +149,7 @@ public class DatabaseServicePageTest {
|
||||
Events.click(webDriver, common.serviceDetailsTabs("connectionConfig"));
|
||||
Events.sendKeys(webDriver, common.serviceUsername(), "1");
|
||||
Events.sendKeys(webDriver, common.servicePassword(), "1");
|
||||
Events.sendKeys(webDriver, databaseServicePage.databaseName(), "1");
|
||||
Events.sendKeys(webDriver, common.databaseName(), "1");
|
||||
Events.click(webDriver, common.saveConnectionConfig());
|
||||
}
|
||||
|
||||
|
||||
@ -148,12 +148,12 @@ public class TagsPageTest {
|
||||
Events.click(webDriver, common.containsText(tagCategoryDisplayName));
|
||||
actions.moveToElement(webDriver.findElement(tagsPage.addAssociatedTagButton())).perform();
|
||||
Events.click(webDriver, tagsPage.addAssociatedTagButton());
|
||||
Events.click(webDriver, tagsPage.enterAssociatedTagName());
|
||||
Events.click(webDriver, common.enterAssociatedTagName());
|
||||
for (int i = 0; i <= 1; i++) {
|
||||
Events.sendKeys(webDriver, tagsPage.enterAssociatedTagName(), "P");
|
||||
Events.click(webDriver, tagsPage.tagListItem());
|
||||
Events.sendKeys(webDriver, common.enterAssociatedTagName(), "P");
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
}
|
||||
Events.click(webDriver, tagsPage.saveAssociatedTag());
|
||||
Events.click(webDriver, common.saveAssociatedTag());
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -166,25 +166,25 @@ public class TagsPageTest {
|
||||
for (int i = 0; i <= 1; i++) {
|
||||
Events.click(webDriver, tagsPage.removeAssociatedTag());
|
||||
}
|
||||
Events.click(webDriver, tagsPage.saveAssociatedTag());
|
||||
Events.click(webDriver, common.saveAssociatedTag());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(8)
|
||||
public void addTagToTableColumn() throws InterruptedException {
|
||||
Events.click(webDriver, common.closeWhatsNew());
|
||||
Events.click(webDriver, tagsPage.headerExplore());
|
||||
Events.click(webDriver, common.headerItem("explore"));
|
||||
Events.click(webDriver, tagsPage.sortBy());
|
||||
Events.click(webDriver, tagsPage.tagListItem());
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
Events.click(webDriver, tagsPage.lastTableLink());
|
||||
Thread.sleep(waitTime);
|
||||
actions.moveToElement(webDriver.findElement(tagsPage.addAssociatedTagButton())).perform();
|
||||
Thread.sleep(waitTime);
|
||||
Events.click(webDriver, tagsPage.addAssociatedTagButton());
|
||||
Events.click(webDriver, tagsPage.enterAssociatedTagName());
|
||||
Events.sendKeys(webDriver, tagsPage.enterAssociatedTagName(), tagCategoryDisplayName + "." + tagDisplayName);
|
||||
Events.click(webDriver, tagsPage.tagListItem());
|
||||
Events.click(webDriver, tagsPage.saveAssociatedTag());
|
||||
Events.click(webDriver, common.enterAssociatedTagName());
|
||||
Events.sendKeys(webDriver, common.enterAssociatedTagName(), tagCategoryDisplayName + "." + tagDisplayName);
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
Events.click(webDriver, common.saveAssociatedTag());
|
||||
Events.click(webDriver, common.headerSettings());
|
||||
Events.click(webDriver, tagsPage.headerSettingsTags());
|
||||
Events.click(webDriver, common.containsText(tagCategoryDisplayName));
|
||||
@ -207,10 +207,9 @@ public class TagsPageTest {
|
||||
Events.click(webDriver, common.containsText(tagCategoryDisplayName));
|
||||
Events.click(webDriver, tagsPage.tagUsageCount());
|
||||
Events.click(webDriver, tagsPage.tableLink());
|
||||
// actions.moveToElement(webDriver.findElement(tagsPage.editAssociatedTagButton())).perform();
|
||||
Events.click(webDriver, tagsPage.editAssociatedTagButton());
|
||||
Events.click(webDriver, common.editAssociatedTagButton());
|
||||
Events.click(webDriver, tagsPage.removeAssociatedTag());
|
||||
Events.click(webDriver, tagsPage.saveAssociatedTag());
|
||||
Events.click(webDriver, common.saveAssociatedTag());
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -221,13 +220,13 @@ public class TagsPageTest {
|
||||
Events.click(webDriver, tagsPage.addTagButton());
|
||||
Events.sendKeys(webDriver, common.displayName(), "Personals");
|
||||
Events.click(webDriver, common.descriptionSaveButton());
|
||||
Events.click(webDriver, tagsPage.headerExplore());
|
||||
Events.click(webDriver, common.headerItem("explore"));
|
||||
Events.click(webDriver, tagsPage.tableLink());
|
||||
Events.click(webDriver, tagsPage.editAssociatedTagButton());
|
||||
Events.click(webDriver, tagsPage.enterAssociatedTagName());
|
||||
Events.sendKeys(webDriver, tagsPage.enterAssociatedTagName(), "Personals");
|
||||
Events.click(webDriver, tagsPage.tagListItem());
|
||||
Events.click(webDriver, tagsPage.saveAssociatedTag());
|
||||
Events.click(webDriver, common.editAssociatedTagButton());
|
||||
Events.click(webDriver, common.enterAssociatedTagName());
|
||||
Events.sendKeys(webDriver, common.enterAssociatedTagName(), "Personals");
|
||||
Events.click(webDriver, common.tagListItem());
|
||||
Events.click(webDriver, common.saveAssociatedTag());
|
||||
Events.click(webDriver, common.headerSettings());
|
||||
Events.click(webDriver, tagsPage.headerSettingsTags());
|
||||
Events.click(webDriver, common.containsText("PersonalData"));
|
||||
@ -244,8 +243,8 @@ public class TagsPageTest {
|
||||
Events.click(webDriver, tagsPage.usageCountElementIndex(2));
|
||||
Thread.sleep(2000);
|
||||
String beforeFilterCount = webDriver.findElement(tagsPage.tagFilterCount(1)).getAttribute("innerHTML");
|
||||
Events.click(webDriver, tagsPage.entityTabIndex(2));
|
||||
Events.click(webDriver, tagsPage.entityTabIndex(1));
|
||||
Events.click(webDriver, common.entityTabIndex(2));
|
||||
Events.click(webDriver, common.entityTabIndex(1));
|
||||
String afterFilterCount = webDriver.findElement(tagsPage.tagFilterCount(1)).getAttribute("innerHTML");
|
||||
Assert.assertEquals(afterFilterCount, beforeFilterCount);
|
||||
}
|
||||
@ -258,9 +257,9 @@ public class TagsPageTest {
|
||||
Events.click(webDriver, common.containsText("PersonalData"));
|
||||
Events.click(webDriver, tagsPage.usageCountElementIndex(2));
|
||||
Events.click(webDriver, tagsPage.tableLink());
|
||||
Events.click(webDriver, tagsPage.editAssociatedTagButton());
|
||||
Events.click(webDriver, common.editAssociatedTagButton());
|
||||
Events.click(webDriver, tagsPage.removeAssociatedTag());
|
||||
Events.click(webDriver, tagsPage.saveAssociatedTag());
|
||||
Events.click(webDriver, common.saveAssociatedTag());
|
||||
Events.click(webDriver, common.headerSettings());
|
||||
Events.click(webDriver, tagsPage.headerSettingsTags());
|
||||
Events.click(webDriver, common.containsText("PersonalData"));
|
||||
@ -276,10 +275,10 @@ public class TagsPageTest {
|
||||
Events.click(webDriver, common.containsText("PersonalData"));
|
||||
actions.moveToElement(webDriver.findElement(tagsPage.addAssociatedTagButton())).perform();
|
||||
Events.click(webDriver, tagsPage.addAssociatedTagButton());
|
||||
Events.click(webDriver, tagsPage.enterAssociatedTagName());
|
||||
Events.click(webDriver, common.enterAssociatedTagName());
|
||||
try {
|
||||
Events.sendKeys(webDriver, tagsPage.enterAssociatedTagName(), "PersonalData.Personal");
|
||||
WebElement sameTag = webDriver.findElement(tagsPage.tagListItem());
|
||||
Events.sendKeys(webDriver, common.enterAssociatedTagName(), "PersonalData.Personal");
|
||||
WebElement sameTag = webDriver.findElement(common.tagListItem());
|
||||
if (sameTag.isDisplayed()) {
|
||||
Assert.fail();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user