diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/common/PostIngestionTests.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/common/PostIngestionTests.java index 856e4e87583..efe57758603 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/common/PostIngestionTests.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/common/PostIngestionTests.java @@ -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')]")); } } diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/common/UiExceptionHandling.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/common/UiExceptionHandling.java index c1ce6a63567..6f117d4c760 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/common/UiExceptionHandling.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/common/UiExceptionHandling.java @@ -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); } diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardDetails/DashboardDetailsPageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardDetails/DashboardDetailsPageTest.java index 822b7fadd48..1d0f69c5748 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardDetails/DashboardDetailsPageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardDetails/DashboardDetailsPageTest.java @@ -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); diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java index 400b10618c1..664eb4b3976 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java @@ -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 webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']")); + List 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(); } -} \ No newline at end of file +} diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dbtModelDetails/DbtModelDetailsPageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dbtModelDetails/DbtModelDetailsPageTest.java index 5b69104e8f2..ff0dd6fa164 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dbtModelDetails/DbtModelDetailsPageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/dbtModelDetails/DbtModelDetailsPageTest.java @@ -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(); // } -//} +// } diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/myData/MyDataPageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/myData/MyDataPageTest.java index 00f5f9f0451..81175001bd5 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/myData/MyDataPageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/myData/MyDataPageTest.java @@ -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 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']")); diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineDetails/PipelineDetailsPageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineDetails/PipelineDetailsPageTest.java index 74438daad34..099734d09a8 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineDetails/PipelineDetailsPageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineDetails/PipelineDetailsPageTest.java @@ -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); diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java index a4276aedc63..29533a4b737 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java @@ -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 webElementList = webDriver.findElements(By.cssSelector("[data-testid='add-new-user-button']")); + List 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']")); } diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tableDetails/TableDetailsPageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tableDetails/TableDetailsPageTest.java index 87c42a949b1..2a32d5407c1 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tableDetails/TableDetailsPageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tableDetails/TableDetailsPageTest.java @@ -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 diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java index ae22c0dc327..c8172043ea6 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java @@ -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']")); diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/teams/TeamsPageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/teams/TeamsPageTest.java index 5819f3c5300..36fbc1be22c 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/teams/TeamsPageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/teams/TeamsPageTest.java @@ -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 diff --git a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/topicDetails/TopicDetailsPageTest.java b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/topicDetails/TopicDetailsPageTest.java index 7212122d4af..83b79b7fcc2 100644 --- a/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/topicDetails/TopicDetailsPageTest.java +++ b/openmetadata-ui/src/test/java/org/openmetadata/catalog/selenium/pages/topicDetails/TopicDetailsPageTest.java @@ -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);