moved variables used multiple times into a single class (#2588)

This commit is contained in:
parthp2107 2022-02-03 16:05:31 +05:30 committed by GitHub
parent b4e608928b
commit 43f4417f8d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 388 additions and 380 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -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<WebElement> webElementList = webDriver.findElements(databaseServicePage.addServiceButton());
List<WebElement> 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

View File

@ -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<WebElement> webElementList = webDriver.findElements(databaseServicePage.addServiceButton());
List<WebElement> 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

View File

@ -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<WebElement> webElementList = webDriver.findElements(databaseServicePage.addServiceButton());
List<WebElement> 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

View File

@ -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<WebElement> webElementList = webDriver.findElements(databaseServicePage.addServiceButton());
List<WebElement> 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

View File

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

View File

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

View File

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