From e94e9489d346f3f473a25ceedc64e7289fc14918 Mon Sep 17 00:00:00 2001 From: Parth Panchal Date: Thu, 18 Nov 2021 18:08:29 +0530 Subject: [PATCH] adding parallel config, trial branch for trial run --- .github/workflows/selenium-tests.yml | 1 + .../DashboardDetailsPageTest.java | 5 ++- .../DashboardServiceTestPage.java | 5 ++- .../DatabaseServicePageTest.java | 6 +++- .../MessagingServicePageTest.java | 5 ++- .../selenium/pages/myData/MyDataPageTest.java | 36 ++++++++++++------- .../PipelineDetailsPageTest.java | 5 ++- .../PipelineServiceTestPage.java | 5 ++- .../tableDetails/TableDetailsPageTest.java | 5 ++- .../selenium/pages/tags/TagsPageTest.java | 5 ++- .../selenium/pages/teams/TeamsPageTest.java | 5 ++- .../topicDetails/TopicDetailsPageTest.java | 5 ++- .../test/resources/junit-platform.properties | 2 ++ 13 files changed, 67 insertions(+), 23 deletions(-) create mode 100644 catalog-rest-service/src/test/resources/junit-platform.properties diff --git a/.github/workflows/selenium-tests.yml b/.github/workflows/selenium-tests.yml index 4e563b69463..606539e1a36 100644 --- a/.github/workflows/selenium-tests.yml +++ b/.github/workflows/selenium-tests.yml @@ -8,6 +8,7 @@ on: branches: [main] pull_request: branches: [main] + create: jobs: build: diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardDetails/DashboardDetailsPageTest.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardDetails/DashboardDetailsPageTest.java index 2911e721aaf..95b646f29ee 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardDetails/DashboardDetailsPageTest.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardDetails/DashboardDetailsPageTest.java @@ -23,6 +23,8 @@ 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 org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; import org.openmetadata.catalog.selenium.events.Events; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.By; @@ -36,6 +38,7 @@ import org.openqa.selenium.support.ui.WebDriverWait; import java.time.Duration; import java.util.ArrayList; +@Execution(ExecutionMode.CONCURRENT) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class DashboardDetailsPageTest { static WebDriver webDriver; @@ -49,7 +52,7 @@ public class DashboardDetailsPageTest { @BeforeEach public void openMetadataWindow() { - System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); + System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/macM1/chromedriver"); ChromeOptions options = new ChromeOptions(); options.addArguments("--headless"); options.addArguments("--window-size=1280,800"); diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java index b70649e1597..2ed5ed4b448 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/dashboardService/DashboardServiceTestPage.java @@ -17,6 +17,8 @@ package org.openmetadata.catalog.selenium.pages.dashboardService; import com.github.javafaker.Faker; +import org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; import org.openmetadata.catalog.selenium.events.Events; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.By; @@ -38,6 +40,7 @@ import java.time.Duration; import java.util.ArrayList; import java.util.List; +@Execution(ExecutionMode.CONCURRENT) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class DashboardServiceTestPage { static WebDriver webDriver; @@ -51,7 +54,7 @@ public class DashboardServiceTestPage { @BeforeEach public void openMetadataWindow() { - System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); + System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/macM1/chromedriver"); ChromeOptions options = new ChromeOptions(); options.addArguments("--headless"); webDriver = new ChromeDriver(options); diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/databaseService/DatabaseServicePageTest.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/databaseService/DatabaseServicePageTest.java index 87a4284a4a5..add39aa667c 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/databaseService/DatabaseServicePageTest.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/databaseService/DatabaseServicePageTest.java @@ -17,6 +17,9 @@ package org.openmetadata.catalog.selenium.pages.databaseService; import com.github.javafaker.Faker; +import org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.openmetadata.catalog.selenium.events.Events; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.By; @@ -38,6 +41,7 @@ import java.time.Duration; import java.util.ArrayList; import java.util.List; +@Execution(ExecutionMode.CONCURRENT) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class DatabaseServicePageTest { @@ -52,7 +56,7 @@ public class DatabaseServicePageTest { @BeforeEach public void openMetadataWindow() { - System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); + System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/macM1/chromedriver"); ChromeOptions options = new ChromeOptions(); options.addArguments("--headless"); webDriver = new ChromeDriver(options); diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/messagingService/MessagingServicePageTest.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/messagingService/MessagingServicePageTest.java index 1a1823502a0..47f81a51365 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/messagingService/MessagingServicePageTest.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/messagingService/MessagingServicePageTest.java @@ -17,6 +17,8 @@ package org.openmetadata.catalog.selenium.pages.messagingService; import com.github.javafaker.Faker; +import org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; import org.openmetadata.catalog.selenium.events.Events; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.By; @@ -38,6 +40,7 @@ import java.time.Duration; import java.util.ArrayList; import java.util.List; +@Execution(ExecutionMode.CONCURRENT) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class MessagingServicePageTest { static WebDriver webDriver; @@ -51,7 +54,7 @@ public class MessagingServicePageTest { @BeforeEach public void openMetadataWindow() { - System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); + System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/macM1/chromedriver"); ChromeOptions options = new ChromeOptions(); options.addArguments("--headless"); webDriver = new ChromeDriver(options); diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/myData/MyDataPageTest.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/myData/MyDataPageTest.java index f1aaf21db19..2961eb49834 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/myData/MyDataPageTest.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/myData/MyDataPageTest.java @@ -16,6 +16,8 @@ package org.openmetadata.catalog.selenium.pages.myData; +import org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; import org.openmetadata.catalog.selenium.events.Events; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.By; @@ -33,6 +35,7 @@ import org.junit.jupiter.api.Order; import java.time.Duration; import java.util.ArrayList; +@Execution(ExecutionMode.CONCURRENT) public class MyDataPageTest { static WebDriver webDriver; @@ -42,9 +45,10 @@ public class MyDataPageTest { static WebDriverWait wait; + @Execution(ExecutionMode.CONCURRENT) @BeforeEach public void openMetadataWindow() { - System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); + System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/macM1/chromedriver"); ChromeOptions options = new ChromeOptions(); options.addArguments("--headless"); webDriver = new ChromeDriver(options); @@ -57,6 +61,7 @@ public class MyDataPageTest { @Test @Order(1) public void checkWhatsNew() { + openMetadataWindow(); Events.click(webDriver, By.xpath("//ul[@class='slick-dots testid-dots-button']//li[2]")); // What's new page 2 Events.click(webDriver, By.xpath("//ul[@class='slick-dots testid-dots-button']//li[3]")); // What's new page 3 Events.click(webDriver, By.xpath("//ul[@class='slick-dots testid-dots-button']//li[4]")); // What's new page 4 @@ -68,6 +73,7 @@ public class MyDataPageTest { @Test @Order(2) public void checkTabs() { + openMetadataWindow(); checkWhatsNew(); Events.click(webDriver, By.cssSelector("[data-testid='tab'][id='myDataTab']")); // My Data Events.click(webDriver, By.cssSelector("[data-testid='tab'][id='followingTab']")); // Following @@ -76,6 +82,7 @@ public class MyDataPageTest { @Test @Order(3) public void checkOverview() throws InterruptedException { + openMetadataWindow(); checkWhatsNew(); Events.click(webDriver, By.cssSelector("[data-testid='tables']")); // Tables webDriver.navigate().back(); @@ -95,6 +102,7 @@ public class MyDataPageTest { @Test @Order(4) public void checkSearchBar() throws InterruptedException { + openMetadataWindow(); checkWhatsNew(); wait.until(ExpectedConditions.elementToBeClickable( webDriver.findElement(By.cssSelector("[id='searchBox']")))); // Search bar/dim @@ -107,6 +115,7 @@ public class MyDataPageTest { @Test @Order(5) public void checkHeaders() { + openMetadataWindow(); checkWhatsNew(); ArrayList tabs = new ArrayList<>(webDriver.getWindowHandles()); Events.click(webDriver, By.cssSelector("[data-testid='appbar-item'][id='explore']")); // Explore @@ -137,21 +146,22 @@ public class MyDataPageTest { @Test @Order(6) public void checkLogout() { + openMetadataWindow(); checkWhatsNew(); Events.click(webDriver, By.cssSelector("[data-testid='greeting-text']")); Events.click(webDriver, By.cssSelector("[data-testid='menu-item-Logout']")); } - @AfterEach - public void closeTabs() { - ArrayList tabs = new ArrayList<>(webDriver.getWindowHandles()); - String originalHandle = webDriver.getWindowHandle(); - for (String handle : webDriver.getWindowHandles()) { - if (!handle.equals(originalHandle)) { - webDriver.switchTo().window(handle); - webDriver.close(); - } - } - webDriver.switchTo().window(tabs.get(0)).close(); - } +// @AfterEach +// public void closeTabs() { +// ArrayList tabs = new ArrayList<>(webDriver.getWindowHandles()); +// String originalHandle = webDriver.getWindowHandle(); +// for (String handle : webDriver.getWindowHandles()) { +// if (!handle.equals(originalHandle)) { +// webDriver.switchTo().window(handle); +// webDriver.close(); +// } +// } +// webDriver.switchTo().window(tabs.get(0)).close(); +// } } diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineDetails/PipelineDetailsPageTest.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineDetails/PipelineDetailsPageTest.java index dbbdb35fb94..7f7dd6ab97f 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineDetails/PipelineDetailsPageTest.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineDetails/PipelineDetailsPageTest.java @@ -17,6 +17,8 @@ package org.openmetadata.catalog.selenium.pages.pipelineDetails; import com.github.javafaker.Faker; +import org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; import org.openmetadata.catalog.selenium.events.Events; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.By; @@ -38,6 +40,7 @@ import org.junit.jupiter.api.MethodOrderer; import java.time.Duration; import java.util.ArrayList; +@Execution(ExecutionMode.CONCURRENT) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class PipelineDetailsPageTest { static WebDriver webDriver; @@ -51,7 +54,7 @@ public class PipelineDetailsPageTest { @BeforeEach public void openMetadataWindow() { - System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); + System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/macM1/chromedriver"); ChromeOptions options = new ChromeOptions(); options.addArguments("--headless"); webDriver = new ChromeDriver(options); diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java index 90f0e4aefc3..5dcf33e46f5 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/pipelineService/PipelineServiceTestPage.java @@ -17,6 +17,8 @@ package org.openmetadata.catalog.selenium.pages.pipelineService; import com.github.javafaker.Faker; +import org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; import org.openmetadata.catalog.selenium.events.Events; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.By; @@ -38,6 +40,7 @@ import java.time.Duration; import java.util.ArrayList; import java.util.List; +@Execution(ExecutionMode.CONCURRENT) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class PipelineServiceTestPage { static WebDriver webDriver; @@ -51,7 +54,7 @@ public class PipelineServiceTestPage { @BeforeEach public void openMetadataWindow() { - System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); + System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/macM1/chromedriver"); ChromeOptions options = new ChromeOptions(); options.addArguments("--headless"); webDriver = new ChromeDriver(options); diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/tableDetails/TableDetailsPageTest.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/tableDetails/TableDetailsPageTest.java index 41b4cbfe176..69723b723ab 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/tableDetails/TableDetailsPageTest.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/tableDetails/TableDetailsPageTest.java @@ -17,6 +17,8 @@ package org.openmetadata.catalog.selenium.pages.tableDetails; import com.github.javafaker.Faker; +import org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; import org.openmetadata.catalog.selenium.events.Events; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.By; @@ -37,6 +39,7 @@ import org.junit.jupiter.api.MethodOrderer; import java.time.Duration; import java.util.ArrayList; +@Execution(ExecutionMode.CONCURRENT) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class TableDetailsPageTest { static WebDriver webDriver; @@ -50,7 +53,7 @@ public class TableDetailsPageTest { @BeforeEach public void openMetadataWindow() { - System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); + System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/macM1/chromedriver"); ChromeOptions options = new ChromeOptions(); options.addArguments("--headless"); options.addArguments("--window-size=1280,800"); diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java index 7556ad06324..ede53d9d293 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/tags/TagsPageTest.java @@ -17,6 +17,8 @@ package org.openmetadata.catalog.selenium.pages.tags; import com.github.javafaker.Faker; +import org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; import org.openmetadata.catalog.selenium.events.Events; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.By; @@ -36,6 +38,7 @@ import org.junit.jupiter.api.MethodOrderer; import java.time.Duration; import java.util.ArrayList; +@Execution(ExecutionMode.CONCURRENT) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class TagsPageTest { @@ -52,7 +55,7 @@ public class TagsPageTest { @BeforeEach public void openMetadataWindow() { - System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); + System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/macM1/chromedriver"); ChromeOptions options = new ChromeOptions(); options.addArguments("--no-sandbox"); options.addArguments("--disable-dev-shm-usage"); diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/teams/TeamsPageTest.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/teams/TeamsPageTest.java index 348792bc925..0a558112a0f 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/teams/TeamsPageTest.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/teams/TeamsPageTest.java @@ -17,6 +17,8 @@ package org.openmetadata.catalog.selenium.pages.teams; import com.github.javafaker.Faker; +import org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; import org.openmetadata.catalog.selenium.events.Events; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.By; @@ -36,6 +38,7 @@ import org.junit.jupiter.api.MethodOrderer; import java.time.Duration; import java.util.ArrayList; +@Execution(ExecutionMode.CONCURRENT) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class TeamsPageTest { @@ -50,7 +53,7 @@ public class TeamsPageTest { @BeforeEach public void openMetadataWindow() { - System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); + System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/macM1/chromedriver"); ChromeOptions options = new ChromeOptions(); options.addArguments("--no-sandbox"); options.addArguments("--disable-dev-shm-usage"); diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/topicDetails/TopicDetailsPageTest.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/topicDetails/TopicDetailsPageTest.java index e5d40b0a5c5..3d46ba6338b 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/topicDetails/TopicDetailsPageTest.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/selenium/pages/topicDetails/TopicDetailsPageTest.java @@ -17,6 +17,8 @@ package org.openmetadata.catalog.selenium.pages.topicDetails; import com.github.javafaker.Faker; +import org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; import org.openmetadata.catalog.selenium.events.Events; import org.openmetadata.catalog.selenium.properties.Property; import org.openqa.selenium.By; @@ -32,6 +34,7 @@ import org.testng.annotations.Test; import java.time.Duration; import java.util.ArrayList; +@Execution(ExecutionMode.CONCURRENT) public class TopicDetailsPageTest { static WebDriver webDriver; static String url = Property.getInstance().getURL(); @@ -43,7 +46,7 @@ public class TopicDetailsPageTest { @BeforeMethod public void openMetadataWindow() { - System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/linux/chromedriver"); + System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/macM1/chromedriver"); webDriver = new ChromeDriver(); actions = new Actions(webDriver); wait = new WebDriverWait(webDriver, Duration.ofSeconds(30)); diff --git a/catalog-rest-service/src/test/resources/junit-platform.properties b/catalog-rest-service/src/test/resources/junit-platform.properties new file mode 100644 index 00000000000..f154e3d42f2 --- /dev/null +++ b/catalog-rest-service/src/test/resources/junit-platform.properties @@ -0,0 +1,2 @@ +junit.jupiter.execution.parallel.enabled = true +junit.jupiter.execution.parallel.mode.classes.default = concurrent