fixing tags which are change on ui side (#1896)

* fixing tags which are change on ui side

* minor changes

* empty commit, testing workflow
This commit is contained in:
parthp2107 2021-12-25 10:20:55 +05:30 committed by GitHub
parent 1b44e0480a
commit 7e68aeaab1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 429 additions and 291 deletions

View File

@ -1,5 +1,7 @@
package org.openmetadata.catalog.selenium.pages.common;
import java.io.IOException;
import java.time.Duration;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Order;
@ -14,9 +16,6 @@ import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.io.IOException;
import java.time.Duration;
@Order(15)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class PostIngestionTests {
@ -42,9 +41,12 @@ public class PostIngestionTests {
}
public void ingestSampleDataPostTests() throws IOException {
String[] installIngestion = {"bash", "-c", "cd ../ && pip install ingestion/"}; // install openmetadata ingestion
String[] ingestSampleData = {"bash", "-c",
"cd ../ingestion && metadata ingest -c ./pipelines/sample_data.json"}; // ingest sample data
String[] installIngestion = {
"bash", "-c", "cd ../ && pip install ingestion/"
}; // install openmetadata ingestion
String[] ingestSampleData = {
"bash", "-c", "cd ../ingestion && metadata ingest -c ./pipelines/sample_data.json"
}; // ingest sample data
Runtime.getRuntime().exec(installIngestion);
Runtime.getRuntime().exec(ingestSampleData);
}
@ -58,7 +60,7 @@ public class PostIngestionTests {
Thread.sleep(waitTime);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), dashboard);
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id='sample_superset34']"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]")); // Manage
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]")); // Manage
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), "Cloud");
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team
@ -74,7 +76,7 @@ public class PostIngestionTests {
Thread.sleep(waitTime);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), dashboard);
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id='sample_superset34']"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]")); // Manage
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]")); // Manage
Events.click(webDriver, By.xpath("//*[contains(text(), 'Cloud_Infra')]"));
}
}

View File

@ -1,9 +1,15 @@
package org.openmetadata.catalog.selenium.pages.common;
import com.github.javafaker.Faker;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Optional;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
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.properties.Property;
import org.openqa.selenium.By;
@ -15,10 +21,8 @@ import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Optional;
@Order(16)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class UiExceptionHandling {
static ChromeDriver webDriver;
@ -26,27 +30,38 @@ public class UiExceptionHandling {
static String url = Property.getInstance().getURL();
static Actions actions;
static WebDriverWait wait;
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static String enterDescription =
"//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static Faker faker = new Faker();
static String serviceName = faker.name().firstName();
public void interceptor(String content, String replaceContent) {
devTools.createSession();
devTools.send(Fetch.enable(Optional.empty(), Optional.empty()));
devTools.addListener(Fetch.requestPaused(), request ->
{
if(request.getRequest().getUrl().contains(content))
{
String mockedUrl = request.getRequest().getUrl().replace(content, replaceContent);
devTools.send(Fetch.continueRequest(request.getRequestId(), Optional.of(mockedUrl), Optional.of(request.getRequest().getMethod()),
Optional.empty(), Optional.empty(), Optional.empty()));
}
else {
devTools.send(Fetch.continueRequest(request.getRequestId(), Optional.of(request.getRequest().getUrl()), Optional.of(request.getRequest().getMethod()),
Optional.empty(), Optional.empty(), Optional.empty()));
}
});
devTools.addListener(
Fetch.requestPaused(),
request -> {
if (request.getRequest().getUrl().contains(content)) {
String mockedUrl = request.getRequest().getUrl().replace(content, replaceContent);
devTools.send(
Fetch.continueRequest(
request.getRequestId(),
Optional.of(mockedUrl),
Optional.of(request.getRequest().getMethod()),
Optional.empty(),
Optional.empty(),
Optional.empty()));
} else {
devTools.send(
Fetch.continueRequest(
request.getRequestId(),
Optional.of(request.getRequest().getUrl()),
Optional.of(request.getRequest().getMethod()),
Optional.empty(),
Optional.empty(),
Optional.empty()));
}
});
}
@BeforeEach
@ -67,9 +82,13 @@ public class UiExceptionHandling {
public void exceptionCheckForUserList() {
interceptor("users", "testing");
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Users']")); // Setting/Users
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + "Request failed with status code 400" + "')]]"));
Events.click(
webDriver,
By.xpath("//*[text()[contains(.,'" + "Request failed with status code 400" + "')]]"));
Events.click(webDriver, By.cssSelector("[data-testid='dismiss']"));
Assert.assertEquals(400, 400);
}
@ -78,8 +97,11 @@ public class UiExceptionHandling {
public void exceptionCheckForGetServices() throws InterruptedException {
interceptor("databaseService", "testing");
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Thread.sleep(2000);
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + "No services found" + "')]]"));
Assert.assertEquals(500, 500);
@ -89,16 +111,22 @@ public class UiExceptionHandling {
public void exceptionCheckFor() {
interceptor("services/databaseServices", "services/testing");
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
}
@Test
public void exceptionCheckForPostService() {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']"));
Events.click(webDriver, By.cssSelector("[data-testid='selectService']"));
Events.click(webDriver, By.cssSelector("[value='MySQL']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
@ -109,7 +137,9 @@ public class UiExceptionHandling {
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
interceptor("services/databaseServices", "services/testing");
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + "Request failed with status code 500" + "')]]"));
Events.click(
webDriver,
By.xpath("//*[text()[contains(.,'" + "Request failed with status code 500" + "')]]"));
Events.click(webDriver, By.cssSelector("[data-testid='dismiss']"));
Assert.assertEquals(500, 500);
}
@ -117,14 +147,19 @@ public class UiExceptionHandling {
@Test
public void exceptionCheckForUpdateService() {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.cssSelector("[data-testid='edit-service-"+ "bigquery_gcp" + "']"));
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.cssSelector("[data-testid='edit-service-" + "bigquery_gcp" + "']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
interceptor("services/databaseServices", "services/testing");
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + "Request failed with status code 500" + "')]]"));
Events.click(
webDriver,
By.xpath("//*[text()[contains(.,'" + "Request failed with status code 500" + "')]]"));
Events.click(webDriver, By.cssSelector("[data-testid='dismiss']"));
Assert.assertEquals(500, 500);
}
@ -132,9 +167,13 @@ public class UiExceptionHandling {
@Test
public void exceptionCheckForDeleteService() {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.cssSelector("[data-testid='delete-service-"+ "bigquery_gcp" + "']"));
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(
webDriver, By.cssSelector("[data-testid='delete-service-" + "bigquery_gcp" + "']"));
interceptor("services/databaseServices", "services/testing");
Assert.assertEquals(500, 500);
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2021 Collate
* Copyright 2021 Collate
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@ -14,12 +14,14 @@
package org.openmetadata.catalog.selenium.pages.dashboardDetails;
import com.github.javafaker.Faker;
import org.junit.jupiter.api.BeforeEach;
import java.time.Duration;
import java.util.ArrayList;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.MethodOrderer;
import org.openmetadata.catalog.selenium.events.Events;
import org.openmetadata.catalog.selenium.properties.Property;
import org.openqa.selenium.By;
@ -27,12 +29,8 @@ import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.time.Duration;
import java.util.ArrayList;
@Order(5)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class DashboardDetailsPageTest {
@ -41,7 +39,8 @@ public class DashboardDetailsPageTest {
Integer waitTime = Property.getInstance().getSleepTime();
static Faker faker = new Faker();
String dashboardName = "Misc Charts";
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static String enterDescription =
"//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static Actions actions;
static WebDriverWait wait;
@ -73,7 +72,7 @@ public class DashboardDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
@ -85,7 +84,7 @@ public class DashboardDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='tags']"));
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
@ -104,7 +103,7 @@ public class DashboardDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[1]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[1]"));
Events.click(webDriver, By.cssSelector("[data-testid='tag-conatiner']"));
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
@ -117,9 +116,11 @@ public class DashboardDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Thread.sleep(waitTime);
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='description']/button"))).perform();
actions
.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='description']/button")))
.perform();
Events.click(webDriver, By.xpath("//div[@data-testid='description']/button"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
@ -132,10 +133,12 @@ public class DashboardDetailsPageTest {
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), dashboardName);
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
Thread.sleep(waitTime);
// actions.moveToElement(webDriver.findElement(
// By.xpath("//table[@data-testid='schema-table']//div[@data-testid='tag-conatiner']//span"))).perform();
// actions.moveToElement(webDriver.findElement(
//
// By.xpath("//table[@data-testid='schema-table']//div[@data-testid='tag-conatiner']//span"))).perform();
Events.click(
webDriver, By.xpath("//table[@data-testid='schema-table']//div[@data-testid='tag-conatiner']//span"));
webDriver,
By.xpath("//table[@data-testid='schema-table']//div[@data-testid='tag-conatiner']//span"));
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
for (int i = 0; i <= 1; i++) {
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"), "P");
@ -151,7 +154,9 @@ public class DashboardDetailsPageTest {
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), dashboardName);
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
Thread.sleep(waitTime);
actions.moveToElement(webDriver.findElement(By.cssSelector("[data-testid='edit-tags']"))).perform();
actions
.moveToElement(webDriver.findElement(By.cssSelector("[data-testid='edit-tags']")))
.perform();
Events.click(webDriver, By.cssSelector("[data-testid='edit-tags']"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
@ -167,8 +172,8 @@ public class DashboardDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), "Cloud");
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team
@ -189,9 +194,12 @@ public class DashboardDetailsPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
for (int i = 1; i <= 3; i++) { //check topics in service
Events.click(webDriver, By.xpath("(//tr[@data-testid='column']//td[1]/a)" + "[" + i + "]")); // dashboards
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
for (int i = 1; i <= 3; i++) { // check topics in service
Events.click(
webDriver,
By.xpath("(//tr[@data-testid='column']//td[1]/a)" + "[" + i + "]")); // dashboards
Events.click(
webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
Thread.sleep(waitTime);

View File

@ -1,5 +1,5 @@
/*
* Copyright 2021 Collate
* Copyright 2021 Collate
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@ -14,7 +14,15 @@
package org.openmetadata.catalog.selenium.pages.dashboardService;
import com.github.javafaker.Faker;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
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.properties.Property;
import org.openqa.selenium.By;
@ -23,17 +31,7 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.MethodOrderer;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
@Order(9)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@ -42,7 +40,8 @@ public class DashboardServiceTestPage {
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 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();
@ -52,6 +51,7 @@ public class DashboardServiceTestPage {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--window-size=1280,800");
webDriver = new ChromeDriver(options);
actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
@ -63,8 +63,11 @@ public class DashboardServiceTestPage {
@Order(1)
public void openDashboardServicePage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
Thread.sleep(waitTime);
}
@ -74,7 +77,8 @@ public class DashboardServiceTestPage {
public void addDashboardService() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
List<WebElement> webElementList =
webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
if (webElementList.isEmpty()) {
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
} else {
@ -82,9 +86,12 @@ public class DashboardServiceTestPage {
}
Events.click(webDriver, By.cssSelector("[value='Looker']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='dashboard-url']"), "http://localhost:8080");
Events.sendKeys(webDriver, By.cssSelector("[data-testid='username']"), faker.name().firstName());
Events.sendKeys(webDriver, By.cssSelector("[data-testid='password']"), faker.name().firstName());
Events.sendKeys(
webDriver, By.cssSelector("[data-testid='dashboard-url']"), "http://localhost:8080");
Events.sendKeys(
webDriver, By.cssSelector("[data-testid='username']"), faker.name().firstName());
Events.sendKeys(
webDriver, By.cssSelector("[data-testid='password']"), faker.name().firstName());
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
@ -104,7 +111,7 @@ public class DashboardServiceTestPage {
public void editDashboardService() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='edit-service-"+ serviceName + "']"));
Events.click(webDriver, By.cssSelector("[data-testid='edit-service-" + serviceName + "']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
@ -130,7 +137,7 @@ public class DashboardServiceTestPage {
public void searchDashboardService() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='service-name-"+ serviceName + "']"));
Events.click(webDriver, By.cssSelector("[data-testid='service-name-" + serviceName + "']"));
}
@Test
@ -138,7 +145,7 @@ public class DashboardServiceTestPage {
public void deleteDashboardService() throws InterruptedException {
openDashboardServicePage();
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='delete-service-"+ serviceName + "']"));
Events.click(webDriver, By.cssSelector("[data-testid='delete-service-" + serviceName + "']"));
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}
@ -154,4 +161,4 @@ public class DashboardServiceTestPage {
}
webDriver.switchTo().window(tabs.get(0)).close();
}
}
}

View File

@ -1,4 +1,4 @@
///*
/// *
// * Copyright 2021 Collate
// * Licensed under the Apache License, Version 2.0 (the "License");
// * you may not use this file except in compliance with the License.
@ -11,41 +11,43 @@
// * limitations under the License.
// */
//
//package org.openmetadata.catalog.selenium.pages.dbtModelDetails;
// package org.openmetadata.catalog.selenium.pages.dbtModelDetails;
//
//import com.github.javafaker.Faker;
////import org.junit.jupiter.api.AfterEach;
//import org.junit.jupiter.api.BeforeEach;
//import org.junit.jupiter.api.MethodOrderer;
//import org.junit.jupiter.api.Order;
//import org.junit.jupiter.api.TestMethodOrder;
//import org.openmetadata.catalog.selenium.events.Events;
//import org.openmetadata.catalog.selenium.properties.Property;
//import org.openqa.selenium.By;
//import org.openqa.selenium.WebDriver;
//import org.openqa.selenium.chrome.ChromeDriver;
//import org.openqa.selenium.chrome.ChromeOptions;
//import org.openqa.selenium.interactions.Actions;
//import org.openqa.selenium.support.ui.WebDriverWait;
// import com.github.javafaker.Faker;
//// import org.junit.jupiter.api.AfterEach;
// import org.junit.jupiter.api.BeforeEach;
// import org.junit.jupiter.api.MethodOrderer;
// import org.junit.jupiter.api.Order;
// import org.junit.jupiter.api.TestMethodOrder;
// import org.openmetadata.catalog.selenium.events.Events;
// import org.openmetadata.catalog.selenium.properties.Property;
// import org.openqa.selenium.By;
// import org.openqa.selenium.WebDriver;
// import org.openqa.selenium.chrome.ChromeDriver;
// import org.openqa.selenium.chrome.ChromeOptions;
// import org.openqa.selenium.interactions.Actions;
// import org.openqa.selenium.support.ui.WebDriverWait;
//
//import java.time.Duration;
//import java.util.ArrayList;
// import java.time.Duration;
// import java.util.ArrayList;
//
//@Order(13)
//@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
//public class DbtModelDetailsPageTest {
// @Order(13)
// @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
// public class DbtModelDetailsPageTest {
//
// static WebDriver webDriver;
// static String url = Property.getInstance().getURL();
// static Faker faker = new Faker();
// static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
// 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();
//
// @BeforeEach
// public void openMetadataWindow() {
// System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
// System.setProperty("webdriver.chrome.driver",
// "src/test/resources/drivers/linux/chromedriver");
// ChromeOptions options = new ChromeOptions();
// options.addArguments("--headless");
// options.addArguments("--window-size=1280,800");
@ -60,7 +62,8 @@
// @Order(1)
// public void openDbtModelPage() throws InterruptedException {
// Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
// Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
// Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); //
// Explore
// Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[5]")); // Dashboard
// Thread.sleep(waitTime);
// }
@ -71,7 +74,7 @@
// openDbtModelPage();
// Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
// Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
// Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
// Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
// Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
// Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
// Events.click(webDriver, By.cssSelector("[data-testid='save']"));
@ -83,9 +86,10 @@
// openDbtModelPage();
// Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
// Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
// Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[1]"));
// Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[1]"));
// Thread.sleep(waitTime);
// actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='description']/button"))).perform();
//
// actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='description']/button"))).perform();
// Events.click(webDriver, By.xpath("//div[@data-testid='description']/button"));
// Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
// Events.click(webDriver, By.cssSelector("[data-testid='save']"));
@ -97,7 +101,7 @@
// openDbtModelPage();
// Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
// Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
// Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[1]"));
// Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[1]"));
// Thread.sleep(waitTime);
// Events.click(webDriver, By.cssSelector("[data-testid='tags']"));
// Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
@ -116,7 +120,7 @@
// openDbtModelPage();
// Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
// Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
// Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[1]"));
// Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[1]"));
// Events.click(webDriver, By.cssSelector("[data-testid='tag-conatiner']"));
// Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
// Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
@ -129,7 +133,7 @@
// openDbtModelPage();
// Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
// Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
// Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
// Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
// Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]"));
// Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
// Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
@ -153,4 +157,4 @@
// }
// webDriver.switchTo().window(tabs.get(0)).close();
// }
//}
// }

View File

@ -13,6 +13,8 @@
package org.openmetadata.catalog.selenium.pages.myData;
import java.time.Duration;
import java.util.ArrayList;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
@ -29,9 +31,6 @@ import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.time.Duration;
import java.util.ArrayList;
@Order(1)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class MyDataPageTest {
@ -59,8 +58,11 @@ public class MyDataPageTest {
@Test
@Order(1)
public void checkWhatsNew() {
Events.click(webDriver, By.xpath("//ul[@class='slick-dots testid-dots-button']//li[2]")); // What's new page 2
Events.click(webDriver, By.cssSelector("[data-testid='WhatsNewModalChangeLogs']")); // Change Logs
Events.click(
webDriver,
By.xpath("//ul[@class='slick-dots testid-dots-button']//li[2]")); // What's new page 2
Events.click(
webDriver, By.cssSelector("[data-testid='WhatsNewModalChangeLogs']")); // Change Logs
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
}
@ -82,21 +84,21 @@ public class MyDataPageTest {
webDriver.navigate().back();
Events.click(webDriver, By.cssSelector("[data-testid='user']")); // Users
webDriver.navigate().back();
Events.click(webDriver, By.cssSelector("[data-testid='terms']")); // Teams
Events.click(webDriver, By.cssSelector("[data-testid='terms']")); // Teams
}
@Test
@Order(3)
public void checkSearchBar() throws InterruptedException {
checkWhatsNew();
wait.until(ExpectedConditions.elementToBeClickable(
webDriver.findElement(By.cssSelector("[id='searchBox']")))); // Search bar/dim
wait.until(
ExpectedConditions.elementToBeClickable(
webDriver.findElement(By.cssSelector("[id='searchBox']")))); // Search bar/dim
Events.sendKeys(webDriver, By.cssSelector("[id='searchBox']"), "dim"); // Search bar/dim
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='data-name']")); // Search bar/dim
}
@Test
@Order(4)
public void checkHeaders() {
@ -104,25 +106,35 @@ public class MyDataPageTest {
ArrayList<String> tabs = new ArrayList<>(webDriver.getWindowHandles());
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
webDriver.navigate().back();
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Teams']")); // Setting/Teams
webDriver.navigate().back();
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
webDriver.navigate().back();
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.cssSelector("[data-testid='whatsnew-modal']")); // What's New
checkWhatsNew();
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Need Help']"));
Events.click(
webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Need Help']"));
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Docs']"));
webDriver.switchTo().window(tabs.get(0));
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Need Help']"));
Events.click(
webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Need Help']"));
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-API']"));
webDriver.navigate().back();
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Need Help']"));
Events.click(
webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Need Help']"));
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Slack']"));
webDriver.switchTo().window(tabs.get(0));
}
@ -133,7 +145,9 @@ public class MyDataPageTest {
checkWhatsNew();
Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), table);
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id='bigquery_gcpshopifydim_product_variant']"));
Events.click(
webDriver,
By.cssSelector("[data-testid='data-name'][id='bigquery_gcpshopifydim_product_variant']"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]")); // Manage
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
Events.click(webDriver, By.xpath("//div[@data-testid='dropdown-list']//div[2]//button[2]"));
@ -144,7 +158,7 @@ public class MyDataPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='My data-" + table + "']"));
webDriver.navigate().back();
Events.click(webDriver, By.cssSelector("[data-testid='my-data']")); // My Data
Events.click(webDriver, By.xpath("//a[@data-testid='table-link']//button"));
Events.click(webDriver, By.xpath("//button[@data-testid='table-link']"));
}
@Test
@ -153,14 +167,17 @@ public class MyDataPageTest {
checkWhatsNew();
Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), table);
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id='bigquery_gcpshopifydim_product_variant']"));
Events.click(
webDriver,
By.cssSelector("[data-testid='data-name'][id='bigquery_gcpshopifydim_product_variant']"));
Events.click(webDriver, By.cssSelector("[data-testid='follow-button']"));
Events.click(webDriver, By.cssSelector("[data-testid='image']"));
webDriver.navigate().refresh();
Events.click(webDriver, By.xpath("//div[@data-testid='Following data-" + table + "']/div/a/button"));
Events.click(
webDriver, By.xpath("//div[@data-testid='Following data-" + table + "']/div/a/button"));
webDriver.navigate().back();
Events.click(webDriver, By.cssSelector("[data-testid='following-data']")); // Following
Events.click(webDriver, By.xpath("//a[@data-testid='table-link']//button"));
Events.click(webDriver, By.xpath("//button[@data-testid='table-link']"));
}
@Test
@ -169,7 +186,9 @@ public class MyDataPageTest {
checkWhatsNew();
Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), "fact_line_item");
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id='bigquery_gcpshopifyfact_line_item']"));
Events.click(
webDriver,
By.cssSelector("[data-testid='data-name'][id='bigquery_gcpshopifyfact_line_item']"));
Events.click(webDriver, By.cssSelector("[data-testid='image']"));
webDriver.navigate().refresh();
Events.click(webDriver, By.cssSelector("[data-testid='Recently Viewed-fact_line_item']"));

View File

@ -14,7 +14,14 @@
package org.openmetadata.catalog.selenium.pages.pipelineDetails;
import com.github.javafaker.Faker;
import java.time.Duration;
import java.util.ArrayList;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
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.properties.Property;
import org.openqa.selenium.By;
@ -24,15 +31,6 @@ import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.MethodOrderer;
import java.time.Duration;
import java.util.ArrayList;
@Order(6)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@ -42,7 +40,8 @@ public class PipelineDetailsPageTest {
Integer waitTime = Property.getInstance().getSleepTime();
static Faker faker = new Faker();
String pipelineName = "dim_product etl";
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static String enterDescription =
"//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static Actions actions;
static WebDriverWait wait;
@ -73,7 +72,7 @@ public class PipelineDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
@ -85,7 +84,7 @@ public class PipelineDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='tags']"));
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
@ -104,7 +103,7 @@ public class PipelineDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[1]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[1]"));
Events.click(webDriver, By.cssSelector("[data-testid='tag-conatiner']"));
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
@ -117,9 +116,11 @@ public class PipelineDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Thread.sleep(waitTime);
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='description']/button"))).perform();
actions
.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='description']/button")))
.perform();
Events.click(webDriver, By.xpath("//div[@data-testid='description']/button"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
@ -130,11 +131,14 @@ public class PipelineDetailsPageTest {
public void checkLineage() throws InterruptedException {
openExplorePage();
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), pipelineName);
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id ='sample_airflowdim_product_etl']"));
Events.click(
webDriver,
By.cssSelector("[data-testid='data-name'][id ='sample_airflowdim_product_etl']"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]"));
for (int i = 1; i <= 3; i++) {
WebElement lineageEntity = webDriver.findElement(
By.xpath("(//span[@data-testid='lineage-entity'])" + "[" + i + "]"));
WebElement lineageEntity =
webDriver.findElement(
By.xpath("(//span[@data-testid='lineage-entity'])" + "[" + i + "]"));
actions.dragAndDropBy(lineageEntity, 100, 200).build();
}
}
@ -145,7 +149,7 @@ public class PipelineDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), "Cloud");
@ -161,15 +165,20 @@ public class PipelineDetailsPageTest {
public void checkBreadCrumb() throws InterruptedException {
openExplorePage();
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), pipelineName);
Events.click(webDriver, By.cssSelector("[data-testid='data-name'][id ='sample_airflowdim_product_etl']"));
Events.click(
webDriver,
By.cssSelector("[data-testid='data-name'][id ='sample_airflowdim_product_etl']"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='breadcrumb-link']"));
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
for (int i = 1; i <= 3; i++) { //check topics in service
Events.click(webDriver, By.xpath("(//tr[@data-testid='column']//td[1]/a)" + "[" + i + "]")); // pipelines
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
for (int i = 1; i <= 3; i++) { // check topics in service
Events.click(
webDriver,
By.xpath("(//tr[@data-testid='column']//td[1]/a)" + "[" + i + "]")); // pipelines
Events.click(
webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
Thread.sleep(waitTime);

View File

@ -1,5 +1,5 @@
/*
* Copyright 2021 Collate
* Copyright 2021 Collate
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@ -14,7 +14,15 @@
package org.openmetadata.catalog.selenium.pages.pipelineService;
import com.github.javafaker.Faker;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
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.properties.Property;
import org.openqa.selenium.By;
@ -23,17 +31,7 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.MethodOrderer;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
@Order(10)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@ -42,7 +40,8 @@ public class PipelineServiceTestPage {
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 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();
@ -52,6 +51,7 @@ public class PipelineServiceTestPage {
System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--window-size=1280,800");
webDriver = new ChromeDriver(options);
actions = new Actions(webDriver);
wait = new WebDriverWait(webDriver, Duration.ofSeconds(30));
@ -63,8 +63,11 @@ public class PipelineServiceTestPage {
@Order(1)
public void openPipelineServicePage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver, By.cssSelector("[data-testid='menu-item-Services']")); // Setting/Services
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]"));
Thread.sleep(waitTime);
}
@ -74,7 +77,8 @@ public class PipelineServiceTestPage {
public void addPipelineService() throws InterruptedException {
openPipelineServicePage();
Thread.sleep(2000);
List<WebElement> webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
List<WebElement> webElementList =
webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']"));
if (webElementList.isEmpty()) {
Events.click(webDriver, By.cssSelector("[data-testid='add-service-button']"));
} else {
@ -82,7 +86,8 @@ public class PipelineServiceTestPage {
}
Events.click(webDriver, By.cssSelector("[value='Prefect']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='name']"), serviceName);
Events.sendKeys(webDriver, By.cssSelector("[data-testid='pipeline-url']"), "http://localhost:8080");
Events.sendKeys(
webDriver, By.cssSelector("[data-testid='pipeline-url']"), "http://localhost:8080");
Events.click(webDriver, By.cssSelector("[data-testid='boldButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.xpath(enterDescription));
@ -101,7 +106,7 @@ public class PipelineServiceTestPage {
public void editPipelineService() throws InterruptedException {
openPipelineServicePage();
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='edit-service-"+ serviceName + "']"));
Events.click(webDriver, By.cssSelector("[data-testid='edit-service-" + serviceName + "']"));
Events.click(webDriver, By.xpath(enterDescription));
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
@ -135,7 +140,7 @@ public class PipelineServiceTestPage {
public void deletePipelineService() throws InterruptedException {
openPipelineServicePage();
Thread.sleep(2000);
Events.click(webDriver, By.cssSelector("[data-testid='delete-service-"+ serviceName + "']"));
Events.click(webDriver, By.cssSelector("[data-testid='delete-service-" + serviceName + "']"));
Events.click(webDriver, By.cssSelector("[data-testid='save-button']"));
}

View File

@ -14,7 +14,14 @@
package org.openmetadata.catalog.selenium.pages.tableDetails;
import com.github.javafaker.Faker;
import java.time.Duration;
import java.util.ArrayList;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
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.properties.Property;
import org.openqa.selenium.By;
@ -25,14 +32,6 @@ import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.MethodOrderer;
import java.time.Duration;
import java.util.ArrayList;
@Order(4)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@ -40,7 +39,8 @@ public class TableDetailsPageTest {
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
static Faker faker = new Faker();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
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();
@ -95,10 +95,13 @@ public class TableDetailsPageTest {
openExplorePage();
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName);
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
wait.until(
ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='searchbar']")));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchbar']"), "address1");
Thread.sleep(2000);
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='description']//button"))).perform();
actions
.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='description']//button")))
.perform();
Events.click(webDriver, By.xpath("//div[@data-testid='description']//button"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
@ -111,7 +114,9 @@ public class TableDetailsPageTest {
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName);
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
Thread.sleep(waitTime);
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='tag-conatiner']//span"))).perform();
actions
.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='tag-conatiner']//span")))
.perform();
Events.click(webDriver, By.xpath("//div[@data-testid='tag-conatiner']//span"));
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
for (int i = 0; i <= 1; i++) {
@ -128,26 +133,28 @@ public class TableDetailsPageTest {
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName);
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
Thread.sleep(waitTime);
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='tag-conatiner']//span"))).perform();
actions
.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='tag-conatiner']//span")))
.perform();
Events.click(webDriver, By.xpath("//div[@data-testid='tag-conatiner']//span"));
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
}
// @Test
// @Order(7)
// public void basicChecks() throws InterruptedException {
// openExplorePage();
// Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName);
// Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
// Thread.sleep(2000);
// Events.click(webDriver, By.cssSelector("[data-testid='follow-button']"));
// Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']"));
// Events.click(webDriver, By.cssSelector("[data-testid='follow-button']"));
// Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']"));
// Events.click(webDriver, By.cssSelector("[data-testid='sample-data-button']"));
// }
// @Test
// @Order(7)
// public void basicChecks() throws InterruptedException {
// openExplorePage();
// Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchBox']"), tableName);
// Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
// Thread.sleep(2000);
// Events.click(webDriver, By.cssSelector("[data-testid='follow-button']"));
// Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']"));
// Events.click(webDriver, By.cssSelector("[data-testid='follow-button']"));
// Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']"));
// Events.click(webDriver, By.cssSelector("[data-testid='sample-data-button']"));
// }
@Test
@Order(8)
@ -158,12 +165,16 @@ public class TableDetailsPageTest {
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]")); // Profiler
for (int i = 1; i <= 4; i++) {
Events.click(
webDriver, By.xpath("(//td[@data-testid='tableBody-cell']//span)" + "[" + i + "]")); // Profiler
actions.moveToElement(
webDriver.findElement(By.xpath("(//tr[@data-testid='tableBody-row']//td" + "[" + i + "]" + ")")))
webDriver,
By.xpath("(//td[@data-testid='tableBody-cell']//span)" + "[" + i + "]")); // Profiler
actions
.moveToElement(
webDriver.findElement(
By.xpath("(//tr[@data-testid='tableBody-row']//td" + "[" + i + "]" + ")")))
.perform();
Events.click(
webDriver, By.xpath("(//td[@data-testid='tableBody-cell']//span)" + "[" + i + "]")); // Profiler
webDriver,
By.xpath("(//td[@data-testid='tableBody-cell']//span)" + "[" + i + "]")); // Profiler
Thread.sleep(waitTime);
}
}
@ -175,7 +186,7 @@ public class TableDetailsPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Thread.sleep(3000);
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]")); // Manage
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), "Cloud");
@ -194,8 +205,9 @@ public class TableDetailsPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
for (int i = 1; i <= 3; i++) {
WebElement lineageEntity = webDriver.findElement(
By.xpath("(//span[@data-testid='lineage-entity'])" + "[" + i + "]"));
WebElement lineageEntity =
webDriver.findElement(
By.xpath("(//span[@data-testid='lineage-entity'])" + "[" + i + "]"));
actions.dragAndDropBy(lineageEntity, 100, 200).build();
}
}
@ -204,7 +216,7 @@ public class TableDetailsPageTest {
@Order(11)
public void checkBreadCrumb() throws InterruptedException {
openExplorePage();
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.cssSelector("[data-testid='breadcrumb-link']"));
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
@ -213,10 +225,12 @@ public class TableDetailsPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
for (int i = 1; i <= 3; i++) { //check topics in service
for (int i = 1; i <= 3; i++) { // check topics in service
Events.click(
webDriver, By.xpath("(//tr[@data-testid='tabale-column']//td[1]/a)" + "[" + i + "]")); // tables
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
webDriver,
By.xpath("(//tr[@data-testid='tabale-column']//td[1]/a)" + "[" + i + "]")); // tables
Events.click(
webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
Thread.sleep(waitTime);
@ -228,7 +242,7 @@ public class TableDetailsPageTest {
@Order(12)
public void checkVersion() throws InterruptedException {
openExplorePage();
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.cssSelector("[data-testid='version-button']"));
Events.click(webDriver, By.cssSelector("[data-testid='closeDrawer']"));
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
@ -248,17 +262,20 @@ public class TableDetailsPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
Thread.sleep(2000);
Events.click(webDriver, By.xpath("(//div[@data-testid='related-tables-data']/a)"));
// for (int i = 1; i <= 3; i++) {
// Events.click(webDriver, By.xpath("(//div[@data-testid='related-tables-data']//a)" + "[" + i + "]"));
// webDriver.navigate().back();
// Thread.sleep(waitTime);
// }
// for (int i = 1; i <= 3; i++) {
// Events.click(webDriver, By.xpath("(//div[@data-testid='related-tables-data']//div//span)"));
// Events.click(webDriver, By.xpath("(//span[@data-testid='more-related-tables-data'])" + "[" + i + "]"));
// webDriver.navigate().back();
// Thread.sleep(waitTime);
// }
// for (int i = 1; i <= 3; i++) {
// Events.click(webDriver, By.xpath("(//div[@data-testid='related-tables-data']//a)" + "["
// + i + "]"));
// webDriver.navigate().back();
// Thread.sleep(waitTime);
// }
// for (int i = 1; i <= 3; i++) {
// Events.click(webDriver,
// By.xpath("(//div[@data-testid='related-tables-data']//div//span)"));
// Events.click(webDriver, By.xpath("(//span[@data-testid='more-related-tables-data'])" +
// "[" + i + "]"));
// webDriver.navigate().back();
// Thread.sleep(waitTime);
// }
}
@Test
@ -268,8 +285,7 @@ public class TableDetailsPageTest {
webDriver.findElement(By.cssSelector("[data-testid='searchBox']")).sendKeys("fact_sale");
Events.click(webDriver, By.cssSelector("[data-testid='data-name']"));
Thread.sleep(2000);
Events.click(webDriver, By.xpath(
"(//div[@data-testid='frequently-joined-columns']/span/a)"));
Events.click(webDriver, By.xpath("(//div[@data-testid='frequently-joined-columns']/span/a)"));
}
@AfterEach

View File

@ -14,7 +14,14 @@
package org.openmetadata.catalog.selenium.pages.tags;
import com.github.javafaker.Faker;
import java.time.Duration;
import java.util.ArrayList;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
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.properties.Property;
import org.openqa.selenium.By;
@ -24,14 +31,6 @@ import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.MethodOrderer;
import java.time.Duration;
import java.util.ArrayList;
@Order(3)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@ -42,7 +41,8 @@ public class TagsPageTest {
static Faker faker = new Faker();
static String tagCategoryDisplayName = faker.name().firstName();
static String tagDisplayName = faker.name().firstName();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
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();
@ -64,7 +64,9 @@ public class TagsPageTest {
@Order(1)
public void openTagsPage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
Thread.sleep(waitTime);
}
@ -119,7 +121,8 @@ public class TagsPageTest {
Events.sendEnter(webDriver, By.xpath(enterDescription));
Events.click(webDriver, By.cssSelector("[data-testid='linkButton']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='saveButton']")));
wait.until(
ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='saveButton']")));
Events.click(webDriver, By.cssSelector("[data-testid='saveButton']"));
}
@ -129,7 +132,9 @@ public class TagsPageTest {
openTagsPage();
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + tagCategoryDisplayName + "')]] "));
// Select the created listed team
actions.moveToElement(webDriver.findElement(By.cssSelector("[data-testid='editTagDescription']"))).perform();
actions
.moveToElement(webDriver.findElement(By.cssSelector("[data-testid='editTagDescription']")))
.perform();
Events.click(webDriver, By.cssSelector("[data-testid='editTagDescription']"));
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(enterDescription)));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
@ -172,17 +177,21 @@ public class TagsPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Thread.sleep(waitTime);
actions.moveToElement(webDriver.findElement(By.cssSelector("[data-testid='tags']"))).perform();
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='tags']"));
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
Events.sendKeys(webDriver, By.cssSelector("[data-testid='associatedTagName']"),
Events.sendKeys(
webDriver,
By.cssSelector("[data-testid='associatedTagName']"),
tagCategoryDisplayName + "." + tagDisplayName);
Events.click(webDriver, By.cssSelector("[data-testid='list-item']"));
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Tags']")); // Setting/Tags
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + tagCategoryDisplayName + "')]] "));
Events.click(webDriver, By.cssSelector("[data-testid='usage-count']"));
@ -194,9 +203,16 @@ public class TagsPageTest {
public void checkAddedTagToTableColumn() {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables
Events.click(webDriver, By.cssSelector("[data-testid='checkbox']" +
"[id='" + tagCategoryDisplayName + "." + tagDisplayName + "']"));
Events.click(webDriver, By.xpath("//a[@data-testid='table-link']//button"));
Events.click(
webDriver,
By.cssSelector(
"[data-testid='checkbox']"
+ "[id='"
+ tagCategoryDisplayName
+ "."
+ tagDisplayName
+ "']"));
Events.click(webDriver, By.xpath("//button[@data-testid='table-link']"));
}
@Test
@ -205,9 +221,11 @@ public class TagsPageTest {
openTagsPage();
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + tagCategoryDisplayName + "')]] "));
Events.click(webDriver, By.cssSelector("[data-testid='usage-count']"));
Events.click(webDriver, By.xpath("//a[@data-testid='table-link']//button"));
Events.click(webDriver, By.xpath("//button[@data-testid='table-link']"));
Thread.sleep(waitTime);
actions.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='tag-conatiner']//span"))).perform();
actions
.moveToElement(webDriver.findElement(By.xpath("//div[@data-testid='tag-conatiner']//span")))
.perform();
Events.click(webDriver, By.xpath("//div[@data-testid='tag-conatiner']//span"));
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
Events.click(webDriver, By.cssSelector("[data-testid='saveAssociatedTag']"));

View File

@ -1,5 +1,5 @@
/*
* Copyright 2021 Collate
* Copyright 2021 Collate
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@ -14,7 +14,14 @@
package org.openmetadata.catalog.selenium.pages.teams;
import com.github.javafaker.Faker;
import java.time.Duration;
import java.util.ArrayList;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
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.properties.Property;
import org.openqa.selenium.By;
@ -24,14 +31,6 @@ import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.MethodOrderer;
import java.time.Duration;
import java.util.ArrayList;
@Order(2)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@ -41,7 +40,8 @@ public class TeamsPageTest {
static String URL = Property.getInstance().getURL();
Integer waitTime = Property.getInstance().getSleepTime();
static Faker faker = new Faker();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static String enterDescription =
"//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
static String teamDisplayName = faker.name().lastName();
static Actions actions;
static WebDriverWait wait;
@ -64,7 +64,9 @@ public class TeamsPageTest {
@Order(1)
public void openTeamsPage() throws InterruptedException {
Events.click(webDriver, By.cssSelector("[data-testid='closeWhatsNew']")); // Close What's new
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Teams']")); // Setting/Teams
Thread.sleep(waitTime);
}
@ -90,7 +92,9 @@ public class TeamsPageTest {
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + teamDisplayName + "')]] "));
// Select the created listed team
for (int i = 0; i <= 10; i++) {
Events.click(webDriver, By.cssSelector("[data-testid='add-new-user-button']")); // select add user button
Events.click(
webDriver,
By.cssSelector("[data-testid='add-new-user-button']")); // select add user button
Events.click(webDriver, By.cssSelector("[data-testid='checkboxAddUser']"));
Events.click(webDriver, By.cssSelector("[data-testid='AddUserSave']"));
Thread.sleep(waitTime);
@ -104,8 +108,7 @@ public class TeamsPageTest {
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + teamDisplayName + "')]] "));
// Select the created listed team
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
wait.until(ExpectedConditions.elementToBeClickable(
By.xpath(enterDescription)));
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(enterDescription)));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
}
@ -119,14 +122,17 @@ public class TeamsPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='assets']")); // Assets
Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(
webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated // Last Updated
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[4]")); // Manage
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), teamDisplayName);
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Select User/Team
Events.click(webDriver, By.cssSelector("[data-testid='saveManageTab']")); // Save
Events.click(webDriver, By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(
webDriver,
By.cssSelector("[data-testid='menu-button'][id='menu-button-Settings']")); // Setting
Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Teams']")); // Setting/Teams
Events.click(webDriver, By.xpath("//*[text()[contains(.,'" + teamDisplayName + "')]] "));
// Select the created listed team

View File

@ -14,7 +14,14 @@
package org.openmetadata.catalog.selenium.pages.topicDetails;
import com.github.javafaker.Faker;
import java.time.Duration;
import java.util.ArrayList;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.MethodOrderer;
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.properties.Property;
import org.openqa.selenium.By;
@ -24,14 +31,6 @@ import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.MethodOrderer;
import java.time.Duration;
import java.util.ArrayList;
@Order(7)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@ -39,7 +38,8 @@ public class TopicDetailsPageTest {
static WebDriver webDriver;
static String url = Property.getInstance().getURL();
static Faker faker = new Faker();
static String enterDescription = "//div[@data-testid='enterDescription']/div/div[2]/div/div/div/div/div/div";
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();
@ -73,7 +73,7 @@ public class TopicDetailsPageTest {
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Thread.sleep(waitTime);
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Thread.sleep(waitTime);
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[2]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
@ -85,7 +85,7 @@ public class TopicDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='follow-button']"));
Events.click(webDriver, By.cssSelector("[data-testid='getFollowerDetail']"));
@ -99,7 +99,7 @@ public class TopicDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='tags']"));
Events.click(webDriver, By.cssSelector("[data-testid='associatedTagName']"));
@ -116,7 +116,7 @@ public class TopicDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[1]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[1]"));
Events.click(webDriver, By.cssSelector("[data-testid='tag-conatiner']"));
Thread.sleep(waitTime);
Events.click(webDriver, By.cssSelector("[data-testid='remove']"));
@ -132,7 +132,7 @@ public class TopicDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']"));
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
@ -144,7 +144,7 @@ public class TopicDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
Events.click(webDriver, By.xpath("(//button[@data-testid='tab'])[3]"));
Events.click(webDriver, By.cssSelector("[data-testid='owner-dropdown']")); // Owner
Events.sendKeys(webDriver, By.cssSelector("[data-testid='searchInputText']"), "Cloud");
@ -161,16 +161,21 @@ public class TopicDetailsPageTest {
openExplorePage();
Events.click(webDriver, By.cssSelector("[data-testid='sortBy']")); // Sort By
Events.click(webDriver, By.cssSelector("[data-testid='list-item']")); // Last Updated
Events.click(webDriver, By.xpath("(//a[@data-testid='table-link'])[last()]"));
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='breadcrumb-link']")));
Events.click(webDriver, By.xpath("(//button[@data-testid='table-link'])[last()]"));
wait.until(
ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='breadcrumb-link']")));
Events.click(webDriver, By.cssSelector("[data-testid='breadcrumb-link']"));
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-testid='edit-description']")));
wait.until(
ExpectedConditions.elementToBeClickable(
By.cssSelector("[data-testid='edit-description']")));
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
for (int i = 1; i <= 3; i++) { //check topics in service
Events.click(webDriver, By.xpath("(//tr[@data-testid='column']//td[1]/a)" + "[" + i + "]")); // topics
Events.click(webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
for (int i = 1; i <= 3; i++) { // check topics in service
Events.click(
webDriver, By.xpath("(//tr[@data-testid='column']//td[1]/a)" + "[" + i + "]")); // topics
Events.click(
webDriver, By.cssSelector("[data-testid='edit-description']")); // edit description
Events.sendKeys(webDriver, By.xpath(enterDescription), faker.address().toString());
Events.click(webDriver, By.cssSelector("[data-testid='save']"));
Thread.sleep(waitTime);