mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-07 05:53:46 +00:00
Fix#2559: Revamped service listing page (#2570)
* revamped service listing page * addressing style check
This commit is contained in:
parent
f99258ea4d
commit
60aa5f3939
@ -0,0 +1,22 @@
|
|||||||
|
package org.openmetadata.catalog.selenium.objectRepository;
|
||||||
|
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
|
||||||
|
public class DashboardServicePage {
|
||||||
|
WebDriver webDriver;
|
||||||
|
|
||||||
|
public DashboardServicePage(WebDriver webDriver) {
|
||||||
|
this.webDriver = webDriver;
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
package org.openmetadata.catalog.selenium.objectRepository;
|
||||||
|
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
|
||||||
|
public class MessagingServicePage {
|
||||||
|
WebDriver webDriver;
|
||||||
|
|
||||||
|
public MessagingServicePage(WebDriver webDriver) {
|
||||||
|
this.webDriver = webDriver;
|
||||||
|
}
|
||||||
|
|
||||||
|
By messagingServiceBrokerUrl = By.cssSelector("[data-testid='broker-url']");
|
||||||
|
By messagingServiceSchemaRegistry = By.cssSelector("[data-testid='schema-registry']");
|
||||||
|
|
||||||
|
public By messagingServiceBrokerUrl() {
|
||||||
|
return messagingServiceBrokerUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public By messagingServiceSchemaRegistry() {
|
||||||
|
return messagingServiceSchemaRegistry;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
package org.openmetadata.catalog.selenium.objectRepository;
|
||||||
|
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
|
||||||
|
public class PipelineServicePage {
|
||||||
|
WebDriver webDriver;
|
||||||
|
|
||||||
|
public PipelineServicePage(WebDriver webDriver) {
|
||||||
|
this.webDriver = webDriver;
|
||||||
|
}
|
||||||
|
|
||||||
|
By pipelineServiceUrl = By.cssSelector("[data-testid='pipeline-url']");
|
||||||
|
|
||||||
|
public By pipelineServiceUrl() {
|
||||||
|
return pipelineServiceUrl;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -24,8 +24,10 @@ import org.junit.jupiter.api.Order;
|
|||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.TestMethodOrder;
|
import org.junit.jupiter.api.TestMethodOrder;
|
||||||
import org.openmetadata.catalog.selenium.events.Events;
|
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.properties.Property;
|
import org.openmetadata.catalog.selenium.properties.Property;
|
||||||
import org.openqa.selenium.By;
|
|
||||||
import org.openqa.selenium.WebDriver;
|
import org.openqa.selenium.WebDriver;
|
||||||
import org.openqa.selenium.WebElement;
|
import org.openqa.selenium.WebElement;
|
||||||
import org.openqa.selenium.chrome.ChromeDriver;
|
import org.openqa.selenium.chrome.ChromeDriver;
|
||||||
@ -37,10 +39,12 @@ import org.openqa.selenium.support.ui.WebDriverWait;
|
|||||||
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
||||||
public class DashboardServiceTestPage {
|
public class DashboardServiceTestPage {
|
||||||
static WebDriver webDriver;
|
static WebDriver webDriver;
|
||||||
|
static TagsPage tagsPage;
|
||||||
|
static DatabaseServicePage databaseServicePage;
|
||||||
|
static DashboardServicePage dashboardServicePage;
|
||||||
static String url = Property.getInstance().getURL();
|
static String url = Property.getInstance().getURL();
|
||||||
static Faker faker = new Faker();
|
static Faker faker = new Faker();
|
||||||
static String serviceName = faker.name().firstName();
|
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 Actions actions;
|
||||||
static WebDriverWait wait;
|
static WebDriverWait wait;
|
||||||
Integer waitTime = Property.getInstance().getSleepTime();
|
Integer waitTime = Property.getInstance().getSleepTime();
|
||||||
@ -54,6 +58,9 @@ public class DashboardServiceTestPage {
|
|||||||
options.addArguments("--headless");
|
options.addArguments("--headless");
|
||||||
options.addArguments("--window-size=1280,800");
|
options.addArguments("--window-size=1280,800");
|
||||||
webDriver = new ChromeDriver(options);
|
webDriver = new ChromeDriver(options);
|
||||||
|
tagsPage = new TagsPage(webDriver);
|
||||||
|
databaseServicePage = new DatabaseServicePage(webDriver);
|
||||||
|
dashboardServicePage = new DashboardServicePage(webDriver);
|
||||||
actions = new Actions(webDriver);
|
actions = new Actions(webDriver);
|
||||||
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
||||||
webDriver.manage().window().maximize();
|
webDriver.manage().window().maximize();
|
||||||
@ -63,10 +70,10 @@ public class DashboardServiceTestPage {
|
|||||||
@Test
|
@Test
|
||||||
@Order(1)
|
@Order(1)
|
||||||
public void openDashboardServicePage() throws InterruptedException {
|
public void openDashboardServicePage() throws InterruptedException {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
Events.click(webDriver, tagsPage.closeWhatsNew()); // Close What's new
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
Events.click(webDriver, tagsPage.headerSettings()); // Setting
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
|
Events.click(webDriver, databaseServicePage.headerSettingsServices()); // Setting/Services
|
||||||
Events.click(webDriver, By.xpath("(//div[@data-testid='tab'])[3]"));
|
Events.click(webDriver, dashboardServicePage.selectServiceTab(3));
|
||||||
Thread.sleep(waitTime);
|
Thread.sleep(waitTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,72 +82,65 @@ public class DashboardServiceTestPage {
|
|||||||
public void addDashboardService() throws InterruptedException {
|
public void addDashboardService() throws InterruptedException {
|
||||||
openDashboardServicePage();
|
openDashboardServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
|
List<WebElement> webElementList = webDriver.findElements(databaseServicePage.addServiceButton());
|
||||||
if (webElementList.isEmpty()) {
|
if (webElementList.isEmpty()) {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
|
Events.click(webDriver, databaseServicePage.noServicesAddServiceButton());
|
||||||
} else {
|
} else {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
|
Events.click(webDriver, databaseServicePage.addServiceButton());
|
||||||
}
|
}
|
||||||
Events.click(webDriver, By.cssSelector("[value='Looker']"));
|
Events.click(webDriver, databaseServicePage.serviceType("Looker"));
|
||||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
|
Events.click(webDriver, databaseServicePage.nextButton());
|
||||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='dashboard-url']"), "http://localhost:8080");
|
Events.sendKeys(webDriver, databaseServicePage.serviceName(), serviceName);
|
||||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='username']"), faker.name().firstName());
|
Events.click(webDriver, tagsPage.descriptionBoldButton());
|
||||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='password']"), faker.name().firstName());
|
Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString());
|
||||||
|
Events.click(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
|
Events.sendEnter(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.click(webDriver, tagsPage.descriptionItalicButton());
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString());
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='italicButton']"));
|
Events.sendEnter(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.click(webDriver, tagsPage.descriptionLinkButton());
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString());
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, databaseServicePage.nextButton());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
|
Events.sendKeys(webDriver, dashboardServicePage.dashboardServiceUrl(), "localhost:8080");
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.sendKeys(webDriver, databaseServicePage.serviceUsername(), "openmetadata_user");
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
Events.sendKeys(webDriver, databaseServicePage.servicePassword(), "openmetadata_password");
|
||||||
|
Events.click(webDriver, databaseServicePage.nextButton());
|
||||||
|
Events.click(webDriver, databaseServicePage.saveServiceButton());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(3)
|
@Order(3)
|
||||||
public void editDashboardService() throws InterruptedException {
|
public void checkDashboardServiceDetails() throws InterruptedException {
|
||||||
openDashboardServicePage();
|
openDashboardServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-service-" + serviceName + "']"));
|
Events.click(webDriver, tagsPage.containsText(serviceName));
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, tagsPage.editTagCategoryDescription());
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
Events.click(webDriver, tagsPage.editDescriptionSaveButton());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(4)
|
@Order(4)
|
||||||
public void checkDashboardServiceDetails() throws InterruptedException {
|
public void checkConnectionConfigTab() throws InterruptedException {
|
||||||
openDashboardServicePage();
|
openDashboardServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='service-name-" + serviceName + "']"));
|
Events.click(webDriver, tagsPage.containsText(serviceName));
|
||||||
Thread.sleep(waitTime);
|
Events.click(webDriver, databaseServicePage.serviceDetailsTabs("connectionConfig"));
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
Events.sendKeys(webDriver, dashboardServicePage.dashboardServiceUrl(), "1");
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.sendKeys(webDriver, databaseServicePage.serviceUsername(), "1");
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
Events.sendKeys(webDriver, databaseServicePage.servicePassword(), "1");
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.click(webDriver, databaseServicePage.saveConnectionConfig());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(5)
|
@Order(5)
|
||||||
public void searchDashboardService() throws InterruptedException {
|
|
||||||
openDashboardServicePage();
|
|
||||||
Thread.sleep(2000);
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='service-name-" + serviceName + "']"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Order(6)
|
|
||||||
public void deleteDashboardService() throws InterruptedException {
|
public void deleteDashboardService() throws InterruptedException {
|
||||||
openDashboardServicePage();
|
openDashboardServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='delete-service-" + serviceName + "']"));
|
Events.click(webDriver, databaseServicePage.deleteServiceButton(serviceName));
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
Events.click(webDriver, databaseServicePage.saveEditedService());
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterEach
|
@AfterEach
|
||||||
|
|||||||
@ -24,8 +24,11 @@ import org.junit.jupiter.api.Order;
|
|||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.TestMethodOrder;
|
import org.junit.jupiter.api.TestMethodOrder;
|
||||||
import org.openmetadata.catalog.selenium.events.Events;
|
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.MessagingServicePage;
|
||||||
|
import org.openmetadata.catalog.selenium.objectRepository.TagsPage;
|
||||||
import org.openmetadata.catalog.selenium.properties.Property;
|
import org.openmetadata.catalog.selenium.properties.Property;
|
||||||
import org.openqa.selenium.By;
|
|
||||||
import org.openqa.selenium.WebDriver;
|
import org.openqa.selenium.WebDriver;
|
||||||
import org.openqa.selenium.WebElement;
|
import org.openqa.selenium.WebElement;
|
||||||
import org.openqa.selenium.chrome.ChromeDriver;
|
import org.openqa.selenium.chrome.ChromeDriver;
|
||||||
@ -37,6 +40,10 @@ import org.openqa.selenium.support.ui.WebDriverWait;
|
|||||||
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
||||||
public class MessagingServicePageTest {
|
public class MessagingServicePageTest {
|
||||||
static WebDriver webDriver;
|
static WebDriver webDriver;
|
||||||
|
static TagsPage tagsPage;
|
||||||
|
static DatabaseServicePage databaseServicePage;
|
||||||
|
static DashboardServicePage dashboardServicePage;
|
||||||
|
static MessagingServicePage messagingServicePage;
|
||||||
static String url = Property.getInstance().getURL();
|
static String url = Property.getInstance().getURL();
|
||||||
static Faker faker = new Faker();
|
static Faker faker = new Faker();
|
||||||
static String serviceName = faker.name().firstName();
|
static String serviceName = faker.name().firstName();
|
||||||
@ -54,6 +61,10 @@ public class MessagingServicePageTest {
|
|||||||
options.addArguments("--headless");
|
options.addArguments("--headless");
|
||||||
options.addArguments("--window-size=1280,800");
|
options.addArguments("--window-size=1280,800");
|
||||||
webDriver = new ChromeDriver(options);
|
webDriver = new ChromeDriver(options);
|
||||||
|
tagsPage = new TagsPage(webDriver);
|
||||||
|
databaseServicePage = new DatabaseServicePage(webDriver);
|
||||||
|
dashboardServicePage = new DashboardServicePage(webDriver);
|
||||||
|
messagingServicePage = new MessagingServicePage(webDriver);
|
||||||
actions = new Actions(webDriver);
|
actions = new Actions(webDriver);
|
||||||
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
||||||
webDriver.manage().window().maximize();
|
webDriver.manage().window().maximize();
|
||||||
@ -63,10 +74,10 @@ public class MessagingServicePageTest {
|
|||||||
@Test
|
@Test
|
||||||
@Order(1)
|
@Order(1)
|
||||||
public void openMessagingServicePage() throws InterruptedException {
|
public void openMessagingServicePage() throws InterruptedException {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
Events.click(webDriver, tagsPage.closeWhatsNew()); // Close What's new
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
Events.click(webDriver, tagsPage.headerSettings()); // Setting
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
|
Events.click(webDriver, databaseServicePage.headerSettingsServices()); // Setting/Services
|
||||||
Events.click(webDriver, By.xpath("(//div[@data-testid='tab'])[2]"));
|
Events.click(webDriver, dashboardServicePage.selectServiceTab(2));
|
||||||
Thread.sleep(waitTime);
|
Thread.sleep(waitTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,71 +86,63 @@ public class MessagingServicePageTest {
|
|||||||
public void addMessagingService() throws InterruptedException {
|
public void addMessagingService() throws InterruptedException {
|
||||||
openMessagingServicePage();
|
openMessagingServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
|
List<WebElement> webElementList = webDriver.findElements(databaseServicePage.addServiceButton());
|
||||||
if (webElementList.isEmpty()) {
|
if (webElementList.isEmpty()) {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
|
Events.click(webDriver, databaseServicePage.noServicesAddServiceButton());
|
||||||
} else {
|
} else {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
|
Events.click(webDriver, databaseServicePage.addServiceButton());
|
||||||
}
|
}
|
||||||
Events.click(webDriver, By.cssSelector("[value='Kafka']"));
|
Events.click(webDriver, databaseServicePage.serviceType("Kafka"));
|
||||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
|
Events.click(webDriver, databaseServicePage.nextButton());
|
||||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='broker-url']"), "localhost:9092");
|
Events.sendKeys(webDriver, databaseServicePage.serviceName(), serviceName);
|
||||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='schema-registry']"), "http://localhost:8081");
|
Events.click(webDriver, tagsPage.descriptionBoldButton());
|
||||||
|
Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
|
Events.click(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.sendEnter(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, tagsPage.descriptionItalicButton());
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='italicButton']"));
|
Events.click(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.sendEnter(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, tagsPage.descriptionLinkButton());
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
|
Events.click(webDriver, databaseServicePage.nextButton());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.sendKeys(webDriver, messagingServicePage.messagingServiceBrokerUrl(), "localhost:8080, localhost:9092");
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
Events.sendKeys(webDriver, messagingServicePage.messagingServiceSchemaRegistry(), "https://localhost:8081");
|
||||||
|
Events.click(webDriver, databaseServicePage.nextButton());
|
||||||
|
Events.click(webDriver, databaseServicePage.saveServiceButton());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(3)
|
@Order(3)
|
||||||
public void editMessagingService() throws InterruptedException {
|
public void checkMessagingServiceDetails() throws InterruptedException {
|
||||||
openMessagingServicePage();
|
openMessagingServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-service-" + serviceName + "']"));
|
Events.click(webDriver, tagsPage.containsText(serviceName));
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, databaseServicePage.serviceDetailsTabs("connectionConfig"));
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
Events.sendKeys(webDriver, messagingServicePage.messagingServiceBrokerUrl(), "1");
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.sendKeys(webDriver, messagingServicePage.messagingServiceSchemaRegistry(), "1");
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
Events.click(webDriver, databaseServicePage.saveConnectionConfig());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(4)
|
@Order(4)
|
||||||
public void checkMessagingServiceDetails() throws InterruptedException {
|
public void checkConnectionConfigTab() throws InterruptedException {
|
||||||
openMessagingServicePage();
|
openMessagingServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='service-name-" + serviceName + "']"));
|
Events.click(webDriver, tagsPage.containsText(serviceName));
|
||||||
Thread.sleep(waitTime);
|
Events.click(webDriver, databaseServicePage.serviceDetailsTabs("connectionConfig"));
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
Events.sendKeys(webDriver, messagingServicePage.messagingServiceBrokerUrl(), "1");
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.sendKeys(webDriver, messagingServicePage.messagingServiceSchemaRegistry(), "1");
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, databaseServicePage.saveConnectionConfig());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(5)
|
@Order(5)
|
||||||
public void searchMessagingService() throws InterruptedException {
|
|
||||||
openMessagingServicePage();
|
|
||||||
Thread.sleep(2000);
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='service-name-" + serviceName + "']"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Order(6)
|
|
||||||
public void deleteMessagingService() throws InterruptedException {
|
public void deleteMessagingService() throws InterruptedException {
|
||||||
openMessagingServicePage();
|
openMessagingServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='delete-service-" + serviceName + "']"));
|
Events.click(webDriver, databaseServicePage.deleteServiceButton(serviceName));
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
Events.click(webDriver, databaseServicePage.saveEditedService());
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterEach
|
@AfterEach
|
||||||
|
|||||||
@ -24,8 +24,11 @@ import org.junit.jupiter.api.Order;
|
|||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.TestMethodOrder;
|
import org.junit.jupiter.api.TestMethodOrder;
|
||||||
import org.openmetadata.catalog.selenium.events.Events;
|
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.PipelineServicePage;
|
||||||
|
import org.openmetadata.catalog.selenium.objectRepository.TagsPage;
|
||||||
import org.openmetadata.catalog.selenium.properties.Property;
|
import org.openmetadata.catalog.selenium.properties.Property;
|
||||||
import org.openqa.selenium.By;
|
|
||||||
import org.openqa.selenium.WebDriver;
|
import org.openqa.selenium.WebDriver;
|
||||||
import org.openqa.selenium.WebElement;
|
import org.openqa.selenium.WebElement;
|
||||||
import org.openqa.selenium.chrome.ChromeDriver;
|
import org.openqa.selenium.chrome.ChromeDriver;
|
||||||
@ -37,6 +40,10 @@ import org.openqa.selenium.support.ui.WebDriverWait;
|
|||||||
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
|
||||||
public class PipelineServiceTestPage {
|
public class PipelineServiceTestPage {
|
||||||
static WebDriver webDriver;
|
static WebDriver webDriver;
|
||||||
|
static TagsPage tagsPage;
|
||||||
|
static DatabaseServicePage databaseServicePage;
|
||||||
|
static DashboardServicePage dashboardServicePage;
|
||||||
|
static PipelineServicePage pipelineServicePage;
|
||||||
static String url = Property.getInstance().getURL();
|
static String url = Property.getInstance().getURL();
|
||||||
static Faker faker = new Faker();
|
static Faker faker = new Faker();
|
||||||
static String serviceName = faker.name().firstName();
|
static String serviceName = faker.name().firstName();
|
||||||
@ -54,6 +61,10 @@ public class PipelineServiceTestPage {
|
|||||||
options.addArguments("--headless");
|
options.addArguments("--headless");
|
||||||
options.addArguments("--window-size=1280,800");
|
options.addArguments("--window-size=1280,800");
|
||||||
webDriver = new ChromeDriver(options);
|
webDriver = new ChromeDriver(options);
|
||||||
|
tagsPage = new TagsPage(webDriver);
|
||||||
|
databaseServicePage = new DatabaseServicePage(webDriver);
|
||||||
|
dashboardServicePage = new DashboardServicePage(webDriver);
|
||||||
|
pipelineServicePage = new PipelineServicePage(webDriver);
|
||||||
actions = new Actions(webDriver);
|
actions = new Actions(webDriver);
|
||||||
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
|
||||||
webDriver.manage().window().maximize();
|
webDriver.manage().window().maximize();
|
||||||
@ -63,10 +74,10 @@ public class PipelineServiceTestPage {
|
|||||||
@Test
|
@Test
|
||||||
@Order(1)
|
@Order(1)
|
||||||
public void openPipelineServicePage() throws InterruptedException {
|
public void openPipelineServicePage() throws InterruptedException {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
|
Events.click(webDriver, tagsPage.closeWhatsNew()); // Close What's new
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
|
Events.click(webDriver, tagsPage.headerSettings()); // Setting
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
|
Events.click(webDriver, databaseServicePage.headerSettingsServices()); // Setting/Services
|
||||||
Events.click(webDriver, By.xpath("(//div[@data-testid='tab'])[4]"));
|
Events.click(webDriver, dashboardServicePage.selectServiceTab(4));
|
||||||
Thread.sleep(waitTime);
|
Thread.sleep(waitTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,69 +86,61 @@ public class PipelineServiceTestPage {
|
|||||||
public void addPipelineService() throws InterruptedException {
|
public void addPipelineService() throws InterruptedException {
|
||||||
openPipelineServicePage();
|
openPipelineServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
|
List<WebElement> webElementList = webDriver.findElements(databaseServicePage.addServiceButton());
|
||||||
if (webElementList.isEmpty()) {
|
if (webElementList.isEmpty()) {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
|
Events.click(webDriver, databaseServicePage.noServicesAddServiceButton());
|
||||||
} else {
|
} else {
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
|
Events.click(webDriver, databaseServicePage.addServiceButton());
|
||||||
}
|
}
|
||||||
Events.click(webDriver, By.cssSelector("[value='Prefect']"));
|
Events.click(webDriver, databaseServicePage.serviceType("Prefect"));
|
||||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
|
Events.click(webDriver, databaseServicePage.nextButton());
|
||||||
Events.sendKeys(webDriver, By.cssSelector("[data-testid='pipeline-url']"), "http://localhost:8080");
|
Events.sendKeys(webDriver, databaseServicePage.serviceName(), serviceName);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
|
Events.click(webDriver, tagsPage.descriptionBoldButton());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString());
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
Events.sendEnter(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='italicButton']"));
|
Events.click(webDriver, tagsPage.descriptionItalicButton());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString());
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
Events.sendEnter(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
|
Events.click(webDriver, tagsPage.descriptionLinkButton());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
Events.click(webDriver, databaseServicePage.nextButton());
|
||||||
|
Events.sendKeys(webDriver, pipelineServicePage.pipelineServiceUrl(), "localhost:8080");
|
||||||
|
Events.click(webDriver, databaseServicePage.nextButton());
|
||||||
|
Events.click(webDriver, databaseServicePage.saveServiceButton());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(3)
|
@Order(3)
|
||||||
public void editPipelineService() throws InterruptedException {
|
public void checkPipelineServiceDetails() throws InterruptedException {
|
||||||
openPipelineServicePage();
|
openPipelineServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-service-" + serviceName + "']"));
|
Events.click(webDriver, tagsPage.containsText(serviceName));
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, tagsPage.editTagCategoryDescription());
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, tagsPage.addDescriptionString());
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
Events.sendKeys(webDriver, tagsPage.addDescriptionString(), faker.address().toString());
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
Events.click(webDriver, tagsPage.editDescriptionSaveButton());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(4)
|
@Order(4)
|
||||||
public void checkPipelineServiceDetails() throws InterruptedException {
|
public void checkConnectionConfig() throws InterruptedException {
|
||||||
openPipelineServicePage();
|
openPipelineServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='service-name-" + serviceName + "']"));
|
Events.click(webDriver, tagsPage.containsText(serviceName));
|
||||||
Thread.sleep(waitTime);
|
Events.click(webDriver, databaseServicePage.serviceDetailsTabs("connectionConfig"));
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
|
Events.sendKeys(webDriver, pipelineServicePage.pipelineServiceUrl(), "1");
|
||||||
Events.click(webDriver, By.xpath(enterDescription));
|
Events.click(webDriver, databaseServicePage.saveConnectionConfig());
|
||||||
Events.sendEnter(webDriver, By.xpath(enterDescription));
|
|
||||||
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(5)
|
@Order(5)
|
||||||
public void searchPipelineService() throws InterruptedException {
|
|
||||||
openPipelineServicePage();
|
|
||||||
Thread.sleep(2000);
|
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='service-name-" + serviceName + "']"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Order(6)
|
|
||||||
public void deletePipelineService() throws InterruptedException {
|
public void deletePipelineService() throws InterruptedException {
|
||||||
openPipelineServicePage();
|
openPipelineServicePage();
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='delete-service-" + serviceName + "']"));
|
Events.click(webDriver, databaseServicePage.deleteServiceButton(serviceName));
|
||||||
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
|
Events.click(webDriver, databaseServicePage.saveEditedService());
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterEach
|
@AfterEach
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user