From 43f4417f8d2ac76cd3706f8d147a5f52b3114436 Mon Sep 17 00:00:00 2001 From: parthp2107 <83201188+parthp2107@users.noreply.github.com> Date: Thu, 3 Feb 2022 16:05:31 +0530 Subject: [PATCH] moved variables used multiple times into a single class (#2588) --- .../selenium/objectRepository/Common.java | 139 ++++++++++++++++++ .../DashboardServicePage.java | 4 - .../objectRepository/DatabaseServicePage.java | 50 ------- .../selenium/objectRepository/TagsPage.java | 49 ------ .../DashboardServiceTestPage.java | 83 +++++------ .../DatabaseServicePageTest.java | 92 ++++++------ .../MessagingServicePageTest.java | 74 +++++----- .../PipelineServiceTestPage.java | 79 +++++----- .../selenium/pages/roles/RolesPageTest.java | 67 ++++----- .../selenium/pages/tags/TagsPageTest.java | 105 ++++++------- .../selenium/pages/users/UsersPageTest.java | 26 ++-- 11 files changed, 388 insertions(+), 380 deletions(-) create mode 100644 openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/Common.java diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/Common.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/Common.java new file mode 100644 index 00000000000..63bc4ef2c80 --- /dev/null +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/Common.java @@ -0,0 +1,139 @@ +package org.openmetadata.catalog.selenium.objectRepository; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; + +public class Common { + WebDriver webDriver; + static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div"; + + public Common(WebDriver webDriver) { + this.webDriver = webDriver; + } + + By displayName = By.name("name"); + By descriptionBoldButton = By.cssSelector("[data-testid='boldButton']"); + By descriptionItalicButton = By.cssSelector("[data-testid='italicButton']"); + By descriptionLinkButton = By.cssSelector("[data-testid='linkButton']"); + By descriptionSaveButton = By.cssSelector("[data-testid='saveButton']"); + By addDescriptionString = By.xpath(enterDescription); + By editTagCategoryDescription = By.cssSelector("[data-testid='edit-description']"); + By editDescriptionSaveButton = By.cssSelector("[data-testid='save']"); + By closeWhatsNew = By.cssSelector("[data-testid='closeWhatsNew']"); + By headerSettings = By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']"); + + By headerSettingsServices = By.cssSelector("[data-testid='menu-item-Services']"); + By addServiceButton = By.cssSelector("[data-testid='add-service-button']"); + By noServicesAddServiceButton = By.cssSelector("[data-testid='add-new-user-button']"); + By serviceName = By.cssSelector("[data-testid='name']"); + By serviceUsername = By.cssSelector("[name='username']"); + By servicePassword = By.cssSelector("[name='password']"); + By nextButton = By.cssSelector("[data-testid='next-button']"); + By saveServiceButton = By.cssSelector("[data-testid='deploy-button']"); + By saveEditedService = By.cssSelector("[data-testid='save-button']"); + By saveConnectionConfig = By.cssSelector("[data-testid='saveManageTab']"); + + public By displayName() { + return displayName; + } + + public By descriptionBoldButton() { + return descriptionBoldButton; + } + + public By descriptionItalicButton() { + return descriptionItalicButton; + } + + public By descriptionLinkButton() { + return descriptionLinkButton; + } + + public By descriptionSaveButton() { + return descriptionSaveButton; + } + + public By addDescriptionString() { + return addDescriptionString; + } + + public By editTagCategoryDescription() { + return editTagCategoryDescription; + } + + public By editDescriptionSaveButton() { + return editDescriptionSaveButton; + } + + public By containsText(String matchingText) { + return By.xpath("//*[text()[contains(.,'" + matchingText + "')]] "); + } + + public By closeWhatsNew() { + return closeWhatsNew; + } + + public By headerSettings() { + return headerSettings; + } + + public By headerSettingsServices() { + return headerSettingsServices; + } + + public By addServiceButton() { + return addServiceButton; + } + + public By noServicesAddServiceButton() { + return noServicesAddServiceButton; + } + + public By serviceType(String serviceType) { + return By.cssSelector("[data-testid='" + serviceType + "']"); + } + + public By serviceName() { + return serviceName; + } + + public By serviceUsername() { + return serviceUsername; + } + + public By servicePassword() { + return servicePassword; + } + + public By nextButton() { + return nextButton; + } + + public By saveServiceButton() { + return saveServiceButton; + } + + public By deleteServiceButton(String serviceName) { + return By.cssSelector("[data-testid='delete-service-" + serviceName + "']"); + } + + public By saveEditedService() { + return saveEditedService; + } + + public By serviceDetailsTabs(String tab) { + return By.cssSelector("[data-testid='tab'][id='" + tab + "']"); + } + + public By saveConnectionConfig() { + return saveConnectionConfig; + } + + public By selectServiceTab(int index) { + return By.xpath("(//div[@data-testid='tab'])[" + index + "]"); + } + + public By headerSettingsMenu(String menuItem) { + return By.cssSelector("[data-testid='menu-item-" + menuItem + "']"); + } +} diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/DashboardServicePage.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/DashboardServicePage.java index 14407a7d318..8e604d8516c 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/DashboardServicePage.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/DashboardServicePage.java @@ -12,10 +12,6 @@ public class DashboardServicePage { By dashboardServiceUrl = By.cssSelector("[data-testid='dashboard-url']"); - public By selectServiceTab(int index) { - return By.xpath("(//div[@data-testid='tab'])[" + index + "]"); - } - public By dashboardServiceUrl() { return dashboardServiceUrl; } diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/DatabaseServicePage.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/DatabaseServicePage.java index d3c8ca0af3f..a1f5cde91b3 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/DatabaseServicePage.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/DatabaseServicePage.java @@ -10,56 +10,22 @@ public class DatabaseServicePage { this.webDriver = webDriver; } - By headerSettingsServices = By.cssSelector("[data-testid='menu-item-Services']"); - By noServicesAddServiceButton = By.cssSelector("[data-testid='add-new-user-button']"); - By addServiceButton = By.cssSelector("[data-testid='add-service-button']"); - By serviceName = By.cssSelector("[data-testid='name']"); By serviceUrl = By.cssSelector("[data-testid='url']"); By servicePort = By.cssSelector("[data-testid='port']"); - By serviceUsername = By.cssSelector("[name='username']"); - By servicePassword = By.cssSelector("[name='password']"); By databaseName = By.cssSelector("[data-testid='database']"); - By nextButton = By.cssSelector("[data-testid='next-button']"); - By saveServiceButton = By.cssSelector("[data-testid='deploy-button']"); - By saveEditedService = By.cssSelector("[data-testid='save-button']"); By runIngestion = By.cssSelector("[data-testid='run']"); By editIngestion = By.cssSelector("[data-testid='edit']"); By deleteIngestion = By.cssSelector("[data-testid='delete']"); - By saveConnectionConfig = By.cssSelector("[data-testid='saveManageTab']"); By selectInterval = By.xpath("//select[@id='ingestionType']"); - public By headerSettingsServices() { - return headerSettingsServices; - } - - public By addServiceButton() { - return addServiceButton; - } - - public By noServicesAddServiceButton() { - return noServicesAddServiceButton; - } - public By serviceType(String serviceType) { return By.cssSelector("[data-testid='" + serviceType + "']"); } - public By serviceName() { - return serviceName; - } - public By servicePort() { return servicePort; } - public By serviceUsername() { - return serviceUsername; - } - - public By servicePassword() { - return servicePassword; - } - public By serviceUrl() { return serviceUrl; } @@ -68,22 +34,10 @@ public class DatabaseServicePage { return databaseName; } - public By nextButton() { - return nextButton; - } - - public By saveServiceButton() { - return saveServiceButton; - } - public By deleteServiceButton(String serviceName) { return By.cssSelector("[data-testid='delete-service-" + serviceName + "']"); } - public By saveEditedService() { - return saveEditedService; - } - public By serviceDetailsTabs(String tab) { return By.cssSelector("[data-testid='tab'][id='" + tab + "']"); } @@ -107,8 +61,4 @@ public class DatabaseServicePage { public By ingestionInterval(String interval) { return By.xpath("//select[@id='ingestionType']/option[@value='" + interval + "']"); } - - public By saveConnectionConfig() { - return saveConnectionConfig; - } } diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/TagsPage.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/TagsPage.java index fab8b592357..ba7569c61f1 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/TagsPage.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/objectRepository/TagsPage.java @@ -26,14 +26,6 @@ public class TagsPage { By closeWhatsNew = By.cssSelector("[data-testid='closeWhatsNew']"); By addTagCategory = By.cssSelector("[data-testid='add-category']"); - By displayName = By.name("name"); - By descriptionBoldButton = By.cssSelector("[data-testid='boldButton']"); - By descriptionItalicButton = By.cssSelector("[data-testid='italicButton']"); - By descriptionLinkButton = By.cssSelector("[data-testid='linkButton']"); - By descriptionSaveButton = By.cssSelector("[data-testid='saveButton']"); - By addDescriptionString = By.xpath(enterDescription); - By editTagCategoryDescription = By.cssSelector("[data-testid='edit-description']"); - By editDescriptionSaveButton = By.cssSelector("[data-testid='save']"); By addTagButton = By.cssSelector("[data-testid='add-new-tag-button']"); By editTagDescription = By.cssSelector("[data-testid='editTagDescription']"); By addAssociatedTagButton = By.cssSelector("[data-testid='tags']"); @@ -46,7 +38,6 @@ public class TagsPage { 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 headerSettings = By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']"); 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']"); @@ -55,42 +46,6 @@ public class TagsPage { return addTagCategory; } - public By displayName() { - return displayName; - } - - public By descriptionBoldButton() { - return descriptionBoldButton; - } - - public By descriptionItalicButton() { - return descriptionItalicButton; - } - - public By descriptionLinkButton() { - return descriptionLinkButton; - } - - public By descriptionSaveButton() { - return descriptionSaveButton; - } - - public By addDescriptionString() { - return addDescriptionString; - } - - public By editTagCategoryDescription() { - return editTagCategoryDescription; - } - - public By editDescriptionSaveButton() { - return editDescriptionSaveButton; - } - - public By containsText(String matchingText) { - return By.xpath("//*[text()[contains(.,'" + matchingText + "')]] "); - } - public By addTagButton() { return addTagButton; } @@ -151,10 +106,6 @@ public class TagsPage { return By.xpath("(//a[@data-testid='usage-count'])[" + index + "]"); } - public By headerSettings() { - return headerSettings; - } - public By headerSettingsTags() { return headerSettingsTags; } diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java index 451c9fe0d43..429f676f0c9 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java @@ -24,9 +24,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.objectRepository.DashboardServicePage; -import org.openmetadata.catalog.selenium.objectRepository.DatabaseServicePage; -import org.openmetadata.catalog.selenium.objectRepository.TagsPage; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -39,8 +38,7 @@ import org.openqa.selenium.support.ui.WebDriverWait; @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class DashboardServiceTestPage { static WebDriver webDriver; - static TagsPage tagsPage; - static DatabaseServicePage databaseServicePage; + static Common common; static DashboardServicePage dashboardServicePage; static String url = Property.getInstance().getURL(); static Faker faker = new Faker(); @@ -58,8 +56,7 @@ public class DashboardServiceTestPage { options.addArguments("--headless"); options.addArguments("--window-size=1280,800"); webDriver = new ChromeDriver(options); - tagsPage = new TagsPage(webDriver); - databaseServicePage = new DatabaseServicePage(webDriver); + common = new Common(webDriver); dashboardServicePage = new DashboardServicePage(webDriver); actions = new Actions(webDriver); wait = new WebDriverWait(webDriver, Duration.ofSeconds(30)); @@ -70,10 +67,10 @@ public class DashboardServiceTestPage { @Test @Order(1) public void openDashboardServicePage() throws InterruptedException { - Events.click(webDriver, tagsPage.closeWhatsNew()); // Close What's new - Events.click(webDriver, tagsPage.headerSettings()); // Setting - Events.click(webDriver, databaseServicePage.headerSettingsServices()); // Setting/Services - Events.click(webDriver, dashboardServicePage.selectServiceTab(3)); + Events.click(webDriver, common.closeWhatsNew()); // Close What's new + Events.click(webDriver, common.headerSettings()); // Setting + Events.click(webDriver, common.headerSettingsServices()); // Setting/Services + Events.click(webDriver, common.selectServiceTab(3)); Thread.sleep(waitTime); } @@ -82,31 +79,31 @@ public class DashboardServiceTestPage { public void addDashboardService() throws InterruptedException { openDashboardServicePage(); Thread.sleep(2000); - List webElementList = webDriver.findElements(databaseServicePage.addServiceButton()); + List webElementList = webDriver.findElements(common.addServiceButton()); if (webElementList.isEmpty()) { - Events.click(webDriver, databaseServicePage.noServicesAddServiceButton()); + Events.click(webDriver, common.noServicesAddServiceButton()); } else { - Events.click(webDriver, databaseServicePage.addServiceButton()); + Events.click(webDriver, common.addServiceButton()); } - Events.click(webDriver, databaseServicePage.serviceType("Looker")); - Events.click(webDriver, databaseServicePage.nextButton()); - Events.sendKeys(webDriver, databaseServicePage.serviceName(), serviceName); - Events.click(webDriver, tagsPage.descriptionBoldButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionItalicButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionLinkButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, databaseServicePage.nextButton()); + Events.click(webDriver, common.serviceType("Looker")); + 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.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionItalicButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionLinkButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.nextButton()); Events.sendKeys(webDriver, dashboardServicePage.dashboardServiceUrl(), "localhost:8080"); - Events.sendKeys(webDriver, databaseServicePage.serviceUsername(), "openmetadata_user"); - Events.sendKeys(webDriver, databaseServicePage.servicePassword(), "openmetadata_password"); - Events.click(webDriver, databaseServicePage.nextButton()); - Events.click(webDriver, databaseServicePage.saveServiceButton()); + Events.sendKeys(webDriver, common.serviceUsername(), "openmetadata_user"); + Events.sendKeys(webDriver, common.servicePassword(), "openmetadata_password"); + Events.click(webDriver, common.nextButton()); + Events.click(webDriver, common.saveServiceButton()); } @Test @@ -114,11 +111,11 @@ public class DashboardServiceTestPage { public void checkDashboardServiceDetails() throws InterruptedException { openDashboardServicePage(); Thread.sleep(2000); - Events.click(webDriver, tagsPage.containsText(serviceName)); - Events.click(webDriver, tagsPage.editTagCategoryDescription()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.editDescriptionSaveButton()); + Events.click(webDriver, common.containsText(serviceName)); + Events.click(webDriver, common.editTagCategoryDescription()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.editDescriptionSaveButton()); } @Test @@ -126,12 +123,12 @@ public class DashboardServiceTestPage { public void checkConnectionConfigTab() throws InterruptedException { openDashboardServicePage(); Thread.sleep(2000); - Events.click(webDriver, tagsPage.containsText(serviceName)); - Events.click(webDriver, databaseServicePage.serviceDetailsTabs("connectionConfig")); + Events.click(webDriver, common.containsText(serviceName)); + Events.click(webDriver, common.serviceDetailsTabs("connectionConfig")); Events.sendKeys(webDriver, dashboardServicePage.dashboardServiceUrl(), "1"); - Events.sendKeys(webDriver, databaseServicePage.serviceUsername(), "1"); - Events.sendKeys(webDriver, databaseServicePage.servicePassword(), "1"); - Events.click(webDriver, databaseServicePage.saveConnectionConfig()); + Events.sendKeys(webDriver, common.serviceUsername(), "1"); + Events.sendKeys(webDriver, common.servicePassword(), "1"); + Events.click(webDriver, common.saveConnectionConfig()); } @Test @@ -139,8 +136,8 @@ public class DashboardServiceTestPage { public void deleteDashboardService() throws InterruptedException { openDashboardServicePage(); Thread.sleep(2000); - Events.click(webDriver, databaseServicePage.deleteServiceButton(serviceName)); - Events.click(webDriver, databaseServicePage.saveEditedService()); + Events.click(webDriver, common.deleteServiceButton(serviceName)); + Events.click(webDriver, common.saveEditedService()); } @AfterEach diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/databaseService/DatabaseServicePageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/databaseService/DatabaseServicePageTest.java index d3e88958f81..c9ab5ccc09e 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/databaseService/DatabaseServicePageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/databaseService/DatabaseServicePageTest.java @@ -24,8 +24,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.objectRepository.DatabaseServicePage; -import org.openmetadata.catalog.selenium.objectRepository.TagsPage; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -39,7 +39,7 @@ import org.openqa.selenium.support.ui.WebDriverWait; public class DatabaseServicePageTest { static WebDriver webDriver; - static TagsPage tagsPage; + static Common common; static DatabaseServicePage databaseServicePage; static String url = Property.getInstance().getURL(); static Faker faker = new Faker(); @@ -56,7 +56,7 @@ public class DatabaseServicePageTest { ChromeOptions options = new ChromeOptions(); options.addArguments("--headless"); webDriver = new ChromeDriver(options); - tagsPage = new TagsPage(webDriver); + common = new Common(webDriver); databaseServicePage = new DatabaseServicePage(webDriver); actions = new Actions(webDriver); wait = new WebDriverWait(webDriver, Duration.ofSeconds(30)); @@ -67,10 +67,10 @@ public class DatabaseServicePageTest { @Test @Order(1) public void openDatabaseServicePage() throws InterruptedException { - Events.click(webDriver, tagsPage.closeWhatsNew()); // Close What's new + Events.click(webDriver, common.closeWhatsNew()); // Close What's new Thread.sleep(waitTime); - Events.click(webDriver, tagsPage.headerSettings()); // Setting - Events.click(webDriver, databaseServicePage.headerSettingsServices()); // Setting/Services + Events.click(webDriver, common.headerSettings()); // Setting + Events.click(webDriver, common.headerSettingsServices()); // Setting/Services Thread.sleep(waitTime); } @@ -78,34 +78,34 @@ public class DatabaseServicePageTest { @Order(2) public void addDatabaseService() throws InterruptedException { openDatabaseServicePage(); - List webElementList = webDriver.findElements(databaseServicePage.addServiceButton()); + List webElementList = webDriver.findElements(common.addServiceButton()); if (webElementList.isEmpty()) { - Events.click(webDriver, databaseServicePage.noServicesAddServiceButton()); + Events.click(webDriver, common.noServicesAddServiceButton()); } else { - Events.click(webDriver, databaseServicePage.addServiceButton()); + Events.click(webDriver, common.addServiceButton()); } - Events.click(webDriver, databaseServicePage.serviceType("MySQL")); - Events.click(webDriver, databaseServicePage.nextButton()); - Events.sendKeys(webDriver, databaseServicePage.serviceName(), serviceName); - Events.click(webDriver, tagsPage.descriptionBoldButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionItalicButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionLinkButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, databaseServicePage.nextButton()); + 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.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionItalicButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + 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, databaseServicePage.serviceUsername(), "openmetadata_user"); - Events.sendKeys(webDriver, databaseServicePage.servicePassword(), "openmetadata_password"); + Events.sendKeys(webDriver, common.serviceUsername(), "openmetadata_user"); + Events.sendKeys(webDriver, common.servicePassword(), "openmetadata_password"); Events.sendKeys(webDriver, databaseServicePage.databaseName(), "openmetadata_db"); - Events.click(webDriver, databaseServicePage.nextButton()); - Events.click(webDriver, databaseServicePage.nextButton()); - Events.click(webDriver, databaseServicePage.saveServiceButton()); + Events.click(webDriver, common.nextButton()); + Events.click(webDriver, common.nextButton()); + Events.click(webDriver, common.saveServiceButton()); } @Test @@ -113,11 +113,11 @@ public class DatabaseServicePageTest { public void checkDatabaseServiceDetails() throws InterruptedException { openDatabaseServicePage(); Thread.sleep(2000); - Events.click(webDriver, tagsPage.containsText(serviceName)); - Events.click(webDriver, tagsPage.editTagCategoryDescription()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.editDescriptionSaveButton()); + Events.click(webDriver, common.containsText(serviceName)); + Events.click(webDriver, common.editTagCategoryDescription()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.editDescriptionSaveButton()); } @Test @@ -125,19 +125,19 @@ public class DatabaseServicePageTest { public void checkIngestionTab() throws InterruptedException { openDatabaseServicePage(); Thread.sleep(2000); - Events.click(webDriver, tagsPage.containsText("Demo1")); - Events.click(webDriver, databaseServicePage.serviceDetailsTabs("ingestions")); + Events.click(webDriver, common.containsText("Demo1")); + Events.click(webDriver, common.serviceDetailsTabs("ingestions")); Events.click(webDriver, databaseServicePage.runIngestion()); // run ingestion Events.click(webDriver, databaseServicePage.editIngestion()); // edit ingestion - Events.click(webDriver, databaseServicePage.nextButton()); + Events.click(webDriver, common.nextButton()); Events.click(webDriver, databaseServicePage.selectInterval()); Events.click(webDriver, databaseServicePage.ingestionInterval("day")); - Events.click(webDriver, databaseServicePage.nextButton()); - Events.click(webDriver, databaseServicePage.saveServiceButton()); + Events.click(webDriver, common.nextButton()); + Events.click(webDriver, common.saveServiceButton()); Events.click(webDriver, databaseServicePage.deleteIngestion()); // delete ingestion - Events.click(webDriver, databaseServicePage.saveEditedService()); + Events.click(webDriver, common.saveEditedService()); } @Test @@ -145,12 +145,12 @@ public class DatabaseServicePageTest { public void checkConnectionConfigTab() throws InterruptedException { openDatabaseServicePage(); Thread.sleep(2000); - Events.click(webDriver, tagsPage.containsText(serviceName)); - Events.click(webDriver, databaseServicePage.serviceDetailsTabs("connectionConfig")); - Events.sendKeys(webDriver, databaseServicePage.serviceUsername(), "1"); - Events.sendKeys(webDriver, databaseServicePage.servicePassword(), "1"); + Events.click(webDriver, common.containsText(serviceName)); + 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.click(webDriver, databaseServicePage.saveConnectionConfig()); + Events.click(webDriver, common.saveConnectionConfig()); } @Test @@ -158,8 +158,8 @@ public class DatabaseServicePageTest { public void deleteDatabaseService() throws InterruptedException { openDatabaseServicePage(); Thread.sleep(2000); - Events.click(webDriver, databaseServicePage.deleteServiceButton(serviceName)); - Events.click(webDriver, databaseServicePage.saveEditedService()); + Events.click(webDriver, common.deleteServiceButton(serviceName)); + Events.click(webDriver, common.saveEditedService()); } @AfterEach diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/messagingService/MessagingServicePageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/messagingService/MessagingServicePageTest.java index 24505e8bd10..424a77051a8 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/messagingService/MessagingServicePageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/messagingService/MessagingServicePageTest.java @@ -24,10 +24,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.DashboardServicePage; -import org.openmetadata.catalog.selenium.objectRepository.DatabaseServicePage; +import org.openmetadata.catalog.selenium.objectRepository.Common; import org.openmetadata.catalog.selenium.objectRepository.MessagingServicePage; -import org.openmetadata.catalog.selenium.objectRepository.TagsPage; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -40,9 +38,7 @@ import org.openqa.selenium.support.ui.WebDriverWait; @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class MessagingServicePageTest { static WebDriver webDriver; - static TagsPage tagsPage; - static DatabaseServicePage databaseServicePage; - static DashboardServicePage dashboardServicePage; + static Common common; static MessagingServicePage messagingServicePage; static String url = Property.getInstance().getURL(); static Faker faker = new Faker(); @@ -61,9 +57,7 @@ public class MessagingServicePageTest { options.addArguments("--headless"); options.addArguments("--window-size=1280,800"); webDriver = new ChromeDriver(options); - tagsPage = new TagsPage(webDriver); - databaseServicePage = new DatabaseServicePage(webDriver); - dashboardServicePage = new DashboardServicePage(webDriver); + common = new Common(webDriver); messagingServicePage = new MessagingServicePage(webDriver); actions = new Actions(webDriver); wait = new WebDriverWait(webDriver, Duration.ofSeconds(30)); @@ -74,10 +68,10 @@ public class MessagingServicePageTest { @Test @Order(1) public void openMessagingServicePage() throws InterruptedException { - Events.click(webDriver, tagsPage.closeWhatsNew()); // Close What's new - Events.click(webDriver, tagsPage.headerSettings()); // Setting - Events.click(webDriver, databaseServicePage.headerSettingsServices()); // Setting/Services - Events.click(webDriver, dashboardServicePage.selectServiceTab(2)); + Events.click(webDriver, common.closeWhatsNew()); // Close What's new + Events.click(webDriver, common.headerSettings()); // Setting + Events.click(webDriver, common.headerSettingsServices()); // Setting/Services + Events.click(webDriver, common.selectServiceTab(2)); Thread.sleep(waitTime); } @@ -86,30 +80,30 @@ public class MessagingServicePageTest { public void addMessagingService() throws InterruptedException { openMessagingServicePage(); Thread.sleep(2000); - List webElementList = webDriver.findElements(databaseServicePage.addServiceButton()); + List webElementList = webDriver.findElements(common.addServiceButton()); if (webElementList.isEmpty()) { - Events.click(webDriver, databaseServicePage.noServicesAddServiceButton()); + Events.click(webDriver, common.noServicesAddServiceButton()); } else { - Events.click(webDriver, databaseServicePage.addServiceButton()); + Events.click(webDriver, common.addServiceButton()); } - Events.click(webDriver, databaseServicePage.serviceType("Kafka")); - Events.click(webDriver, databaseServicePage.nextButton()); - Events.sendKeys(webDriver, databaseServicePage.serviceName(), serviceName); - Events.click(webDriver, tagsPage.descriptionBoldButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionItalicButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionLinkButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, databaseServicePage.nextButton()); + Events.click(webDriver, common.serviceType("Kafka")); + 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.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionItalicButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionLinkButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.nextButton()); Events.sendKeys(webDriver, messagingServicePage.messagingServiceBrokerUrl(), "localhost:8080, localhost:9092"); Events.sendKeys(webDriver, messagingServicePage.messagingServiceSchemaRegistry(), "https://localhost:8081"); - Events.click(webDriver, databaseServicePage.nextButton()); - Events.click(webDriver, databaseServicePage.saveServiceButton()); + Events.click(webDriver, common.nextButton()); + Events.click(webDriver, common.saveServiceButton()); } @Test @@ -117,11 +111,11 @@ public class MessagingServicePageTest { public void checkMessagingServiceDetails() throws InterruptedException { openMessagingServicePage(); Thread.sleep(2000); - Events.click(webDriver, tagsPage.containsText(serviceName)); - Events.click(webDriver, databaseServicePage.serviceDetailsTabs("connectionConfig")); + Events.click(webDriver, common.containsText(serviceName)); + Events.click(webDriver, common.serviceDetailsTabs("connectionConfig")); Events.sendKeys(webDriver, messagingServicePage.messagingServiceBrokerUrl(), "1"); Events.sendKeys(webDriver, messagingServicePage.messagingServiceSchemaRegistry(), "1"); - Events.click(webDriver, databaseServicePage.saveConnectionConfig()); + Events.click(webDriver, common.saveConnectionConfig()); } @Test @@ -129,11 +123,11 @@ public class MessagingServicePageTest { public void checkConnectionConfigTab() throws InterruptedException { openMessagingServicePage(); Thread.sleep(2000); - Events.click(webDriver, tagsPage.containsText(serviceName)); - Events.click(webDriver, databaseServicePage.serviceDetailsTabs("connectionConfig")); + Events.click(webDriver, common.containsText(serviceName)); + Events.click(webDriver, common.serviceDetailsTabs("connectionConfig")); Events.sendKeys(webDriver, messagingServicePage.messagingServiceBrokerUrl(), "1"); Events.sendKeys(webDriver, messagingServicePage.messagingServiceSchemaRegistry(), "1"); - Events.click(webDriver, databaseServicePage.saveConnectionConfig()); + Events.click(webDriver, common.saveConnectionConfig()); } @Test @@ -141,8 +135,8 @@ public class MessagingServicePageTest { public void deleteMessagingService() throws InterruptedException { openMessagingServicePage(); Thread.sleep(2000); - Events.click(webDriver, databaseServicePage.deleteServiceButton(serviceName)); - Events.click(webDriver, databaseServicePage.saveEditedService()); + Events.click(webDriver, common.deleteServiceButton(serviceName)); + Events.click(webDriver, common.saveEditedService()); } @AfterEach diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java index 45e195f9d97..7f18ffb30eb 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java @@ -24,10 +24,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.DashboardServicePage; -import org.openmetadata.catalog.selenium.objectRepository.DatabaseServicePage; +import org.openmetadata.catalog.selenium.objectRepository.Common; import org.openmetadata.catalog.selenium.objectRepository.PipelineServicePage; -import org.openmetadata.catalog.selenium.objectRepository.TagsPage; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -40,14 +38,11 @@ import org.openqa.selenium.support.ui.WebDriverWait; @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class PipelineServiceTestPage { static WebDriver webDriver; - static TagsPage tagsPage; - static DatabaseServicePage databaseServicePage; - static DashboardServicePage dashboardServicePage; + static Common common; static PipelineServicePage pipelineServicePage; static String url = Property.getInstance().getURL(); static Faker faker = new Faker(); static String serviceName = faker.name().firstName(); - static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div"; static Actions actions; static WebDriverWait wait; Integer waitTime = Property.getInstance().getSleepTime(); @@ -61,9 +56,7 @@ public class PipelineServiceTestPage { options.addArguments("--headless"); options.addArguments("--window-size=1280,800"); webDriver = new ChromeDriver(options); - tagsPage = new TagsPage(webDriver); - databaseServicePage = new DatabaseServicePage(webDriver); - dashboardServicePage = new DashboardServicePage(webDriver); + common = new Common(webDriver); pipelineServicePage = new PipelineServicePage(webDriver); actions = new Actions(webDriver); wait = new WebDriverWait(webDriver, Duration.ofSeconds(30)); @@ -74,10 +67,10 @@ public class PipelineServiceTestPage { @Test @Order(1) public void openPipelineServicePage() throws InterruptedException { - Events.click(webDriver, tagsPage.closeWhatsNew()); // Close What's new - Events.click(webDriver, tagsPage.headerSettings()); // Setting - Events.click(webDriver, databaseServicePage.headerSettingsServices()); // Setting/Services - Events.click(webDriver, dashboardServicePage.selectServiceTab(4)); + Events.click(webDriver, common.closeWhatsNew()); // Close What's new + Events.click(webDriver, common.headerSettings()); // Setting + Events.click(webDriver, common.headerSettingsServices()); // Setting/Services + Events.click(webDriver, common.selectServiceTab(4)); Thread.sleep(waitTime); } @@ -86,29 +79,29 @@ public class PipelineServiceTestPage { public void addPipelineService() throws InterruptedException { openPipelineServicePage(); Thread.sleep(2000); - List webElementList = webDriver.findElements(databaseServicePage.addServiceButton()); + List webElementList = webDriver.findElements(common.addServiceButton()); if (webElementList.isEmpty()) { - Events.click(webDriver, databaseServicePage.noServicesAddServiceButton()); + Events.click(webDriver, common.noServicesAddServiceButton()); } else { - Events.click(webDriver, databaseServicePage.addServiceButton()); + Events.click(webDriver, common.addServiceButton()); } - Events.click(webDriver, databaseServicePage.serviceType("Prefect")); - Events.click(webDriver, databaseServicePage.nextButton()); - Events.sendKeys(webDriver, databaseServicePage.serviceName(), serviceName); - Events.click(webDriver, tagsPage.descriptionBoldButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionItalicButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionLinkButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, databaseServicePage.nextButton()); + Events.click(webDriver, common.serviceType("Prefect")); + 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.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionItalicButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionLinkButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.nextButton()); Events.sendKeys(webDriver, pipelineServicePage.pipelineServiceUrl(), "localhost:8080"); - Events.click(webDriver, databaseServicePage.nextButton()); - Events.click(webDriver, databaseServicePage.saveServiceButton()); + Events.click(webDriver, common.nextButton()); + Events.click(webDriver, common.saveServiceButton()); } @Test @@ -116,11 +109,11 @@ public class PipelineServiceTestPage { public void checkPipelineServiceDetails() throws InterruptedException { openPipelineServicePage(); Thread.sleep(2000); - Events.click(webDriver, tagsPage.containsText(serviceName)); - Events.click(webDriver, tagsPage.editTagCategoryDescription()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.editDescriptionSaveButton()); + Events.click(webDriver, common.containsText(serviceName)); + Events.click(webDriver, common.editTagCategoryDescription()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.editDescriptionSaveButton()); } @Test @@ -128,10 +121,10 @@ public class PipelineServiceTestPage { public void checkConnectionConfig() throws InterruptedException { openPipelineServicePage(); Thread.sleep(2000); - Events.click(webDriver, tagsPage.containsText(serviceName)); - Events.click(webDriver, databaseServicePage.serviceDetailsTabs("connectionConfig")); + Events.click(webDriver, common.containsText(serviceName)); + Events.click(webDriver, common.serviceDetailsTabs("connectionConfig")); Events.sendKeys(webDriver, pipelineServicePage.pipelineServiceUrl(), "1"); - Events.click(webDriver, databaseServicePage.saveConnectionConfig()); + Events.click(webDriver, common.saveConnectionConfig()); } @Test @@ -139,8 +132,8 @@ public class PipelineServiceTestPage { public void deletePipelineService() throws InterruptedException { openPipelineServicePage(); Thread.sleep(2000); - Events.click(webDriver, databaseServicePage.deleteServiceButton(serviceName)); - Events.click(webDriver, databaseServicePage.saveEditedService()); + Events.click(webDriver, common.deleteServiceButton(serviceName)); + Events.click(webDriver, common.saveEditedService()); } @AfterEach diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/roles/RolesPageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/roles/RolesPageTest.java index 0eb8fceed29..8a428a0f813 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/roles/RolesPageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/roles/RolesPageTest.java @@ -11,11 +11,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.DashboardServicePage; -import org.openmetadata.catalog.selenium.objectRepository.DatabaseServicePage; +import org.openmetadata.catalog.selenium.objectRepository.Common; import org.openmetadata.catalog.selenium.objectRepository.RolesPage; -import org.openmetadata.catalog.selenium.objectRepository.TagsPage; -import org.openmetadata.catalog.selenium.objectRepository.UserPage; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; @@ -31,10 +28,7 @@ public class RolesPageTest { private static final Logger LOG = Logger.getLogger(RolesPageTest.class.getName()); static WebDriver webDriver; - static TagsPage tagsPage; - static DatabaseServicePage databaseServicePage; - static DashboardServicePage dashboardServicePage; - static UserPage userPage; + static Common common; static RolesPage rolesPage; static String url = Property.getInstance().getURL(); static Faker faker = new Faker(); @@ -52,10 +46,7 @@ public class RolesPageTest { options.addArguments("--headless"); options.addArguments("--window-size=1280,800"); webDriver = new ChromeDriver(); - tagsPage = new TagsPage(webDriver); - databaseServicePage = new DatabaseServicePage(webDriver); - dashboardServicePage = new DashboardServicePage(webDriver); - userPage = new UserPage(webDriver); + common = new Common(webDriver); rolesPage = new RolesPage(webDriver); actions = new Actions(webDriver); wait = new WebDriverWait(webDriver, Duration.ofSeconds(30)); @@ -66,9 +57,9 @@ public class RolesPageTest { @Test @Order(1) public void openRolesPage() throws InterruptedException { - Events.click(webDriver, tagsPage.closeWhatsNew()); // Close What's new - Events.click(webDriver, tagsPage.headerSettings()); // Setting - Events.click(webDriver, userPage.headerSettingsMenu("Roles")); + Events.click(webDriver, common.closeWhatsNew()); // Close What's new + Events.click(webDriver, common.headerSettings()); // Setting + Events.click(webDriver, common.headerSettingsMenu("Roles")); Thread.sleep(waitTime); } @@ -77,54 +68,54 @@ public class RolesPageTest { public void addRole() throws InterruptedException { openRolesPage(); Events.click(webDriver, rolesPage.addRoleButton()); - Events.sendKeys(webDriver, tagsPage.displayName(), faker.name().firstName()); + Events.sendKeys(webDriver, common.displayName(), faker.name().firstName()); Events.sendKeys(webDriver, rolesPage.rolesDisplayName(), roleDisplayName); - Events.click(webDriver, tagsPage.descriptionBoldButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionItalicButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionLinkButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.descriptionSaveButton()); + Events.click(webDriver, common.descriptionBoldButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionItalicButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionLinkButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.descriptionSaveButton()); } @Test @Order(3) public void editDescription() throws InterruptedException { openRolesPage(); - Events.click(webDriver, tagsPage.containsText(roleDisplayName)); - Events.click(webDriver, tagsPage.editTagCategoryDescription()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.editDescriptionSaveButton()); + Events.click(webDriver, common.containsText(roleDisplayName)); + Events.click(webDriver, common.editTagCategoryDescription()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.editDescriptionSaveButton()); } @Test @Order(4) public void addRules() throws InterruptedException { openRolesPage(); - Events.click(webDriver, tagsPage.containsText(roleDisplayName)); - Events.click(webDriver, databaseServicePage.noServicesAddServiceButton()); + Events.click(webDriver, common.containsText(roleDisplayName)); + Events.click(webDriver, common.noServicesAddServiceButton()); Events.click(webDriver, rolesPage.listOperation()); Events.click(webDriver, rolesPage.selectOperation("UpdateDescription")); Events.click(webDriver, rolesPage.listAccess()); Events.click(webDriver, rolesPage.selectAccess("allow")); Events.click(webDriver, rolesPage.ruleToggleButton()); - Events.click(webDriver, tagsPage.descriptionSaveButton()); + Events.click(webDriver, common.descriptionSaveButton()); } @Test @Order(5) public void editRule() throws InterruptedException { openRolesPage(); - Events.click(webDriver, tagsPage.containsText(roleDisplayName)); + Events.click(webDriver, common.containsText(roleDisplayName)); Events.click(webDriver, rolesPage.editRuleButton()); Events.click(webDriver, rolesPage.listAccess()); Events.click(webDriver, rolesPage.selectAccess("deny")); - Events.click(webDriver, tagsPage.descriptionSaveButton()); + Events.click(webDriver, common.descriptionSaveButton()); String access = webDriver.findElement(rolesPage.accessValue()).getAttribute("innerHTML"); Assert.assertEquals(access, "DENY"); } @@ -133,9 +124,9 @@ public class RolesPageTest { @Order(6) public void deleteRule() throws InterruptedException { openRolesPage(); - Events.click(webDriver, tagsPage.containsText(roleDisplayName)); + Events.click(webDriver, common.containsText(roleDisplayName)); Events.click(webDriver, rolesPage.deleteRuleButton()); - Events.click(webDriver, databaseServicePage.saveEditedService()); + Events.click(webDriver, common.saveEditedService()); } @AfterEach diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java index 2ae6849bfab..94b984af66a 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java @@ -24,6 +24,7 @@ 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.objectRepository.TagsPage; import org.openmetadata.catalog.selenium.pages.myData.MyDataPageTest; import org.openmetadata.catalog.selenium.properties.Property; @@ -43,6 +44,7 @@ public class TagsPageTest { private static final Logger LOG = Logger.getLogger(MyDataPageTest.class.getName()); static WebDriver webDriver; + static Common common; static TagsPage tagsPage; static String url = Property.getInstance().getURL(); static Faker faker = new Faker(); @@ -62,6 +64,7 @@ public class TagsPageTest { options.addArguments("--headless"); options.addArguments("--window-size=1280,800"); webDriver = new ChromeDriver(options); + common = new Common(webDriver); tagsPage = new TagsPage(webDriver); actions = new Actions(webDriver); wait = new WebDriverWait(webDriver, Duration.ofSeconds(30)); @@ -72,8 +75,8 @@ public class TagsPageTest { @Test @Order(1) public void openTagsPage() throws InterruptedException { - Events.click(webDriver, tagsPage.closeWhatsNew()); - Events.click(webDriver, tagsPage.headerSettings()); + Events.click(webDriver, common.closeWhatsNew()); + Events.click(webDriver, common.headerSettings()); Events.click(webDriver, tagsPage.headerSettingsTags()); Thread.sleep(waitTime); } @@ -83,66 +86,66 @@ public class TagsPageTest { public void addTagCategory() throws InterruptedException { openTagsPage(); Events.click(webDriver, tagsPage.addTagCategory()); - Events.sendKeys(webDriver, tagsPage.displayName(), tagCategoryDisplayName); - Events.click(webDriver, tagsPage.descriptionBoldButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionItalicButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionLinkButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.descriptionSaveButton()); + Events.sendKeys(webDriver, common.displayName(), tagCategoryDisplayName); + Events.click(webDriver, common.descriptionBoldButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionItalicButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionLinkButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.descriptionSaveButton()); } @Test @Order(3) public void editTagCategoryDescription() throws InterruptedException { openTagsPage(); - Events.click(webDriver, tagsPage.containsText(tagCategoryDisplayName)); - Events.click(webDriver, tagsPage.editTagCategoryDescription()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.editDescriptionSaveButton()); + Events.click(webDriver, common.containsText(tagCategoryDisplayName)); + Events.click(webDriver, common.editTagCategoryDescription()); + Events.click(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.editDescriptionSaveButton()); } @Test @Order(4) public void addTag() throws InterruptedException { openTagsPage(); - Events.click(webDriver, tagsPage.containsText(tagCategoryDisplayName)); + Events.click(webDriver, common.containsText(tagCategoryDisplayName)); Events.click(webDriver, tagsPage.addTagButton()); - Events.sendKeys(webDriver, tagsPage.displayName(), tagDisplayName); - Events.click(webDriver, tagsPage.descriptionBoldButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionItalicButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.addDescriptionString()); - Events.sendEnter(webDriver, tagsPage.addDescriptionString()); - Events.click(webDriver, tagsPage.descriptionLinkButton()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.descriptionSaveButton()); + Events.sendKeys(webDriver, common.displayName(), tagDisplayName); + Events.click(webDriver, common.descriptionBoldButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionItalicButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.addDescriptionString()); + Events.sendEnter(webDriver, common.addDescriptionString()); + Events.click(webDriver, common.descriptionLinkButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.descriptionSaveButton()); } @Test @Order(5) public void changeTagDescription() throws InterruptedException { openTagsPage(); - Events.click(webDriver, tagsPage.containsText(tagCategoryDisplayName)); + Events.click(webDriver, common.containsText(tagCategoryDisplayName)); actions.moveToElement(webDriver.findElement(tagsPage.editTagDescription())).perform(); Events.click(webDriver, tagsPage.editTagDescription()); - Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString()); - Events.click(webDriver, tagsPage.editDescriptionSaveButton()); + Events.sendKeys(webDriver, common.addDescriptionString(), faker.address().toString()); + Events.click(webDriver, common.editDescriptionSaveButton()); } @Test @Order(6) public void addAssociatedTag() throws InterruptedException { openTagsPage(); - Events.click(webDriver, tagsPage.containsText(tagCategoryDisplayName)); + Events.click(webDriver, common.containsText(tagCategoryDisplayName)); actions.moveToElement(webDriver.findElement(tagsPage.addAssociatedTagButton())).perform(); Events.click(webDriver, tagsPage.addAssociatedTagButton()); Events.click(webDriver, tagsPage.enterAssociatedTagName()); @@ -157,7 +160,7 @@ public class TagsPageTest { @Order(7) public void removeAssociatedTag() throws InterruptedException { openTagsPage(); - Events.click(webDriver, tagsPage.containsText(tagCategoryDisplayName)); + Events.click(webDriver, common.containsText(tagCategoryDisplayName)); actions.moveToElement(webDriver.findElement(tagsPage.addAssociatedTagButton())).perform(); Events.click(webDriver, tagsPage.addAssociatedTagButton()); for (int i = 0; i <= 1; i++) { @@ -169,7 +172,7 @@ public class TagsPageTest { @Test @Order(8) public void addTagToTableColumn() throws InterruptedException { - Events.click(webDriver, tagsPage.closeWhatsNew()); + Events.click(webDriver, common.closeWhatsNew()); Events.click(webDriver, tagsPage.headerExplore()); Events.click(webDriver, tagsPage.sortBy()); Events.click(webDriver, tagsPage.tagListItem()); @@ -182,16 +185,16 @@ public class TagsPageTest { Events.sendKeys(webDriver, tagsPage.enterAssociatedTagName(), tagCategoryDisplayName + "." + tagDisplayName); Events.click(webDriver, tagsPage.tagListItem()); Events.click(webDriver, tagsPage.saveAssociatedTag()); - Events.click(webDriver, tagsPage.headerSettings()); + Events.click(webDriver, common.headerSettings()); Events.click(webDriver, tagsPage.headerSettingsTags()); - Events.click(webDriver, tagsPage.containsText(tagCategoryDisplayName)); + Events.click(webDriver, common.containsText(tagCategoryDisplayName)); Events.click(webDriver, tagsPage.tagUsageCount()); } @Test @Order(9) public void checkAddedTagToTableColumn() { - Events.click(webDriver, tagsPage.closeWhatsNew()); + Events.click(webDriver, common.closeWhatsNew()); Events.click(webDriver, tagsPage.tables()); Events.click(webDriver, tagsPage.tagFilter(tagCategoryDisplayName, tagDisplayName)); Events.click(webDriver, tagsPage.tableLink()); @@ -201,7 +204,7 @@ public class TagsPageTest { @Order(10) public void removeTagFromTableColumn() throws InterruptedException { openTagsPage(); - Events.click(webDriver, tagsPage.containsText(tagCategoryDisplayName)); + Events.click(webDriver, common.containsText(tagCategoryDisplayName)); Events.click(webDriver, tagsPage.tagUsageCount()); Events.click(webDriver, tagsPage.tableLink()); // actions.moveToElement(webDriver.findElement(tagsPage.editAssociatedTagButton())).perform(); @@ -214,10 +217,10 @@ public class TagsPageTest { @Order(10) public void addTagWithExistingName() throws InterruptedException { openTagsPage(); - Events.click(webDriver, tagsPage.containsText("PersonalData")); + Events.click(webDriver, common.containsText("PersonalData")); Events.click(webDriver, tagsPage.addTagButton()); - Events.sendKeys(webDriver, tagsPage.displayName(), "Personals"); - Events.click(webDriver, tagsPage.descriptionSaveButton()); + Events.sendKeys(webDriver, common.displayName(), "Personals"); + Events.click(webDriver, common.descriptionSaveButton()); Events.click(webDriver, tagsPage.headerExplore()); Events.click(webDriver, tagsPage.tableLink()); Events.click(webDriver, tagsPage.editAssociatedTagButton()); @@ -225,9 +228,9 @@ public class TagsPageTest { Events.sendKeys(webDriver, tagsPage.enterAssociatedTagName(), "Personals"); Events.click(webDriver, tagsPage.tagListItem()); Events.click(webDriver, tagsPage.saveAssociatedTag()); - Events.click(webDriver, tagsPage.headerSettings()); + Events.click(webDriver, common.headerSettings()); Events.click(webDriver, tagsPage.headerSettingsTags()); - Events.click(webDriver, tagsPage.containsText("PersonalData")); + Events.click(webDriver, common.containsText("PersonalData")); Thread.sleep(2000); String usageCount = webDriver.findElement(tagsPage.aTagUsageCountElementIndex(1)).getAttribute("innerHTML"); Assert.assertEquals(usageCount, "0"); @@ -237,7 +240,7 @@ public class TagsPageTest { @Order(11) public void TagUsageCheck() throws InterruptedException { openTagsPage(); - Events.click(webDriver, tagsPage.containsText("PersonalData")); + Events.click(webDriver, common.containsText("PersonalData")); Events.click(webDriver, tagsPage.usageCountElementIndex(2)); Thread.sleep(2000); String beforeFilterCount = webDriver.findElement(tagsPage.tagFilterCount(1)).getAttribute("innerHTML"); @@ -252,15 +255,15 @@ public class TagsPageTest { public void removeTagWithExistingName() throws InterruptedException { openTagsPage(); - Events.click(webDriver, tagsPage.containsText("PersonalData")); + 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, tagsPage.removeAssociatedTag()); Events.click(webDriver, tagsPage.saveAssociatedTag()); - Events.click(webDriver, tagsPage.headerSettings()); + Events.click(webDriver, common.headerSettings()); Events.click(webDriver, tagsPage.headerSettingsTags()); - Events.click(webDriver, tagsPage.containsText("PersonalData")); + Events.click(webDriver, common.containsText("PersonalData")); Thread.sleep(2000); String usageCount = webDriver.findElement(tagsPage.spanTagUsageCountElementIndex(2)).getAttribute("innerHTML"); Assert.assertEquals(usageCount, "Not used"); @@ -270,7 +273,7 @@ public class TagsPageTest { @Order(13) public void addSelfAssociatedTag() throws Exception { openTagsPage(); - Events.click(webDriver, tagsPage.containsText("PersonalData")); + Events.click(webDriver, common.containsText("PersonalData")); actions.moveToElement(webDriver.findElement(tagsPage.addAssociatedTagButton())).perform(); Events.click(webDriver, tagsPage.addAssociatedTagButton()); Events.click(webDriver, tagsPage.enterAssociatedTagName()); diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/users/UsersPageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/users/UsersPageTest.java index 5b513ae4632..18acab783cb 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/users/UsersPageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/users/UsersPageTest.java @@ -9,9 +9,7 @@ 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.DashboardServicePage; -import org.openmetadata.catalog.selenium.objectRepository.DatabaseServicePage; -import org.openmetadata.catalog.selenium.objectRepository.TagsPage; +import org.openmetadata.catalog.selenium.objectRepository.Common; import org.openmetadata.catalog.selenium.objectRepository.UserPage; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.WebDriver; @@ -26,9 +24,7 @@ import org.testng.Assert; public class UsersPageTest { static WebDriver webDriver; - static TagsPage tagsPage; - static DatabaseServicePage databaseServicePage; - static DashboardServicePage dashboardServicePage; + static Common common; static UserPage userPage; static Actions actions; static WebDriverWait wait; @@ -44,9 +40,7 @@ public class UsersPageTest { options.addArguments("--headless"); options.addArguments("--window-size=1280,800"); webDriver = new ChromeDriver(options); - tagsPage = new TagsPage(webDriver); - databaseServicePage = new DatabaseServicePage(webDriver); - dashboardServicePage = new DashboardServicePage(webDriver); + common = new Common(webDriver); userPage = new UserPage(webDriver); actions = new Actions(webDriver); wait = new WebDriverWait(webDriver, Duration.ofSeconds(30)); @@ -55,9 +49,9 @@ public class UsersPageTest { } public void openUsersPage() throws InterruptedException { - Events.click(webDriver, tagsPage.closeWhatsNew()); // Close What's new - Events.click(webDriver, tagsPage.headerSettings()); // Setting - Events.click(webDriver, userPage.headerSettingsMenu("Users")); + Events.click(webDriver, common.closeWhatsNew()); // Close What's new + Events.click(webDriver, common.headerSettings()); // Setting + Events.click(webDriver, common.headerSettingsMenu("Users")); Thread.sleep(waitTime); } @@ -65,7 +59,7 @@ public class UsersPageTest { @Order(1) public void addAdminCheckCountCheck() throws InterruptedException { openUsersPage(); - Events.click(webDriver, tagsPage.containsText("Cloud_Infra")); + Events.click(webDriver, common.containsText("Cloud_Infra")); Events.click(webDriver, userPage.selectUser()); Thread.sleep(2000); Events.click(webDriver, userPage.rolesList()); @@ -73,7 +67,7 @@ public class UsersPageTest { actions.moveToElement(userPage.closeCheckBoxDropDown(), 100, 200); actions.click(); actions.perform(); - Events.click(webDriver, tagsPage.descriptionSaveButton()); + Events.click(webDriver, common.descriptionSaveButton()); Thread.sleep(1000); Object afterUsersCount = webDriver.findElement(userPage.userFilterCount()).getAttribute("innerHTML"); Thread.sleep(1000); @@ -86,7 +80,7 @@ public class UsersPageTest { @Order(2) public void removeAdminCheckCountCheck() throws InterruptedException { openUsersPage(); - Events.click(webDriver, tagsPage.containsText("Cloud_Infra")); + Events.click(webDriver, common.containsText("Cloud_Infra")); Events.click(webDriver, userPage.userPageTab(1)); Events.click(webDriver, userPage.selectUser()); Events.click(webDriver, userPage.rolesList()); @@ -94,7 +88,7 @@ public class UsersPageTest { actions.moveToElement(userPage.closeCheckBoxDropDown(), 100, 200); actions.click(); actions.perform(); - Events.click(webDriver, tagsPage.descriptionSaveButton()); + Events.click(webDriver, common.descriptionSaveButton()); Thread.sleep(1000); Object afterAdminCount = webDriver.findElement(userPage.adminFilterCount()).getAttribute("innerHTML"); Thread.sleep(1000);