Pagination, filter, exception tests cases revamped (#2613)

This commit is contained in:
parthp2107 2022-02-04 11:56:22 +05:30 committed by GitHub
parent 09476bf4b1
commit de6a06b013
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 247 additions and 203 deletions

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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() {

View File

@ -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

View File

@ -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"));
}
}

View File

@ -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

View File

@ -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());
}

View File

@ -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();
}