From 18ce718b5067414202744390deb6323ae69c1ab4 Mon Sep 17 00:00:00 2001 From: Serafym Tuhai Date: Thu, 8 Dec 2022 15:57:34 +0200 Subject: [PATCH] add selenium grid, add allure.properties, add allure plugin --- msa/black-box-tests/pom.xml | 10 ++++ .../server/msa/AbstractContainerTest.java | 2 +- .../server/msa/ContainerTestSuite.java | 7 ++- .../server/msa/TestProperties.java | 7 +++ .../msa/ui/base/AbstractDriverBaseTest.java | 47 +++++++++---------- .../server/msa/ui/listeners/TestListener.java | 20 +++----- .../customerSmoke/CreateCustomerTest.java | 11 +++-- .../customerSmoke/CustomerEditMenuTest.java | 3 +- .../customerSmoke/DeleteCustomerTest.java | 3 +- .../DeleteSeveralCustomerTest.java | 3 +- .../ManageCustomersAssetsTest.java | 4 +- .../ManageCustomersDashboardsTest.java | 4 +- .../ManageCustomersDevicesTest.java | 4 +- .../ManageCustomersEdgesTest.java | 4 +- .../ManageCustomersUsersTest.java | 4 +- .../customerSmoke/SearchCustomerTest.java | 3 +- .../tests/customerSmoke/SortByNameTest.java | 3 +- .../CreateRuleChainImportTest.java | 3 +- .../ruleChainsSmoke/CreateRuleChainTest.java | 3 +- .../ruleChainsSmoke/DeleteRuleChainTest.java | 3 +- .../DeleteSeveralRuleChainsTest.java | 3 +- .../MakeRuleChainRootTest.java | 3 +- .../ruleChainsSmoke/OpenRuleChainTest.java | 2 +- .../RuleChainEditMenuTest.java | 3 +- .../ruleChainsSmoke/SearchRuleChainTest.java | 3 +- .../tests/ruleChainsSmoke/SortByNameTest.java | 3 +- .../tests/ruleChainsSmoke/SortByTimeTest.java | 3 +- .../src/test/resources/allure.properties | 2 + .../src/test/resources/docker-selenium.yml | 36 ++++++++++++++ pom.xml | 7 +++ 30 files changed, 123 insertions(+), 90 deletions(-) create mode 100644 msa/black-box-tests/src/test/resources/allure.properties create mode 100644 msa/black-box-tests/src/test/resources/docker-selenium.yml diff --git a/msa/black-box-tests/pom.xml b/msa/black-box-tests/pom.xml index 161e3167e3..e920f62a2a 100644 --- a/msa/black-box-tests/pom.xml +++ b/msa/black-box-tests/pom.xml @@ -206,6 +206,16 @@ + + io.qameta.allure + allure-maven + ${allure-maven.version} + + ${allure-testng.version} + https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/ + ${allure-testng.version}/allure-commandline-${allure-testng.version}.zip + + diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/AbstractContainerTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/AbstractContainerTest.java index d259d46b43..31948decc9 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/AbstractContainerTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/AbstractContainerTest.java @@ -63,7 +63,7 @@ public abstract class AbstractContainerTest { } } - @AfterSuite + @AfterSuite(alwaysRun = true) public void afterSuite() { if (containerTestSuite.isActive()) { containerTestSuite.stop(); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java index 2ff7088fa0..5d10d06a90 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java @@ -109,7 +109,8 @@ public class ContainerTestSuite { new File(targetDir + "docker-compose.postgres.volumes.yml"), new File(targetDir + "docker-compose." + QUEUE_TYPE + ".yml"), new File(targetDir + (IS_REDIS_CLUSTER ? "docker-compose.redis-cluster.yml" : "docker-compose.redis.yml")), - new File(targetDir + (IS_REDIS_CLUSTER ? "docker-compose.redis-cluster.volumes.yml" : "docker-compose.redis.volumes.yml")) + new File(targetDir + (IS_REDIS_CLUSTER ? "docker-compose.redis-cluster.volumes.yml" : "docker-compose.redis.volumes.yml")), + new File(targetDir + ("docker-selenium.yml")) )); Map queueEnv = new HashMap<>(); @@ -230,4 +231,8 @@ public class ContainerTestSuite { fail("failed to update file"); } } + + public DockerComposeContainer getTestContainer() { + return testContainer; + } } diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestProperties.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestProperties.java index 020dbf8b93..b5d91647c1 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestProperties.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestProperties.java @@ -39,6 +39,13 @@ public class TestProperties { return getProperties().getProperty("tb.baseUrl"); } + public static String getBaseUiUrl() { + if (instance.isActive()) { + return "https://host.docker.internal"; + } + return getProperties().getProperty("tb.baseUrl"); + } + public static String getWebSocketUrl() { if (instance.isActive()) { return WSS_URL; diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/base/AbstractDriverBaseTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/base/AbstractDriverBaseTest.java index 6badd78e8e..486e1bfdea 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/base/AbstractDriverBaseTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/base/AbstractDriverBaseTest.java @@ -28,22 +28,27 @@ import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebDriverException; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.remote.LocalFileDetector; +import org.openqa.selenium.remote.RemoteWebDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; -import org.testng.annotations.BeforeSuite; import org.testng.annotations.Listeners; import org.thingsboard.server.common.data.Customer; import org.thingsboard.server.common.data.page.PageLink; import org.thingsboard.server.common.data.rule.RuleChain; import org.thingsboard.server.msa.AbstractContainerTest; +import org.thingsboard.server.msa.ContainerTestSuite; import org.thingsboard.server.msa.ui.listeners.TestListener; import java.io.File; +import java.net.URL; import java.time.Duration; import java.util.stream.Collectors; +import static org.thingsboard.server.msa.TestProperties.getBaseUiUrl; + @Slf4j @Listeners(TestListener.class) abstract public class AbstractDriverBaseTest extends AbstractContainerTest { @@ -52,41 +57,37 @@ abstract public class AbstractDriverBaseTest extends AbstractContainerTest { private final Dimension dimension = new Dimension(WIDTH, HEIGHT); private static final int WIDTH = 1680; private static final int HEIGHT = 1050; - private static final boolean HEADLESS = true; + private static final String REMOTE_WEBDRIVER_HOST = "http://localhost:4444"; protected static final PageLink pageLink = new PageLink(10); + private static final ContainerTestSuite instance = ContainerTestSuite.getInstance(); - @BeforeSuite - public void beforeUISuite() { - WebDriverManager.chromedriver().setup(); - } - + @SneakyThrows @BeforeMethod public void openBrowser() { log.info("*----------------------* Setup driver *----------------------*"); - if (HEADLESS == true) { - ChromeOptions options = new ChromeOptions(); - options.addArguments("--ignore-certificate-errors"); - options.addArguments("--no-sandbox"); - options.addArguments("--disable-dev-shm-usage"); - options.addArguments("--headless"); - driver = new ChromeDriver(options); + ChromeOptions options = new ChromeOptions(); + options.addArguments("--ignore-certificate-errors"); + options.addArguments("--no-sandbox"); + options.addArguments("--disable-dev-shm-usage"); + if (instance.isActive()) { + RemoteWebDriver remoteWebDriver = new RemoteWebDriver(new URL(REMOTE_WEBDRIVER_HOST), options); + remoteWebDriver.setFileDetector(new LocalFileDetector()); + driver = remoteWebDriver; } else { - ChromeOptions options = new ChromeOptions(); - options.addArguments("--ignore-certificate-errors"); - driver = new ChromeDriver(options); + WebDriverManager.chromedriver().setup(); + driver = new ChromeDriver(); } driver.manage().window().setSize(dimension); - } - @AfterMethod + @AfterMethod(alwaysRun = true) public void closeBrowser() { log.info("*----------------------* Teardown *----------------------*"); driver.quit(); } - public void openUrl(String url) { - driver.get(url); + public void openLocalhost() { + driver.get(getBaseUiUrl()); } public String getUrl() { @@ -97,10 +98,6 @@ abstract public class AbstractDriverBaseTest extends AbstractContainerTest { return driver; } - public boolean getHeadless() { - return HEADLESS; - } - protected boolean urlContains(String urlPath) { WebDriverWait wait = new WebDriverWait(driver, Duration.ofMillis(5000)); try { diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/listeners/TestListener.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/listeners/TestListener.java index 737022a096..9a0e7aad77 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/listeners/TestListener.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/listeners/TestListener.java @@ -15,8 +15,6 @@ */ package org.thingsboard.server.msa.ui.listeners; - -import io.qameta.allure.Allure; import lombok.extern.slf4j.Slf4j; import org.openqa.selenium.WebDriver; import org.testng.ITestContext; @@ -34,10 +32,8 @@ public class TestListener implements ITestListener { public void onTestSuccess(ITestResult tr) { String str = "Test " + tr.getMethod().getMethodName() + " success"; log.info("*----------------------* " + str + " *----------------------*"); - if (!((AbstractDriverBaseTest) tr.getInstance()).getHeadless()) { - driver = ((AbstractDriverBaseTest) tr.getInstance()).getDriver(); - captureScreen(driver, "success"); - } + driver = ((AbstractDriverBaseTest) tr.getInstance()).getDriver(); + captureScreen(driver, "success"); } public void onTestFailure(ITestResult tr) { @@ -45,10 +41,8 @@ public class TestListener implements ITestListener { String str1 = "Failed because of - " + tr.getThrowable(); log.info("*----------------------* " + str + " *----------------------*"); log.info("*----------------------* " + str1 + " *----------------------*"); - if (!((AbstractDriverBaseTest) tr.getInstance()).getHeadless()) { - driver = ((AbstractDriverBaseTest) tr.getInstance()).getDriver(); - captureScreen(driver, "failure"); - } + driver = ((AbstractDriverBaseTest) tr.getInstance()).getDriver(); + captureScreen(driver, "failure"); } public void onTestSkipped(ITestResult tr) { @@ -56,10 +50,8 @@ public class TestListener implements ITestListener { String str1 = "Skipped because of - " + tr.getThrowable(); log.info("*----------------------* " + str + " *----------------------*"); log.info("*----------------------* " + str1 + " *----------------------*"); - if (!((AbstractDriverBaseTest) tr.getInstance()).getHeadless()) { - driver = ((AbstractDriverBaseTest) tr.getInstance()).getDriver(); - captureScreen(driver, "skipped"); - } + driver = ((AbstractDriverBaseTest) tr.getInstance()).getDriver(); + captureScreen(driver, "skipped"); } public void onStart(ITestContext testContext) { diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/CreateCustomerTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/CreateCustomerTest.java index bef792b8d0..65e6d2069e 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/CreateCustomerTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/CreateCustomerTest.java @@ -30,7 +30,6 @@ import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; import static org.thingsboard.server.msa.ui.utils.Const.SAME_NAME_WARNING_CUSTOMER_MESSAGE; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; public class CreateCustomerTest extends AbstractDriverBaseTest { @@ -40,7 +39,7 @@ public class CreateCustomerTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); @@ -73,7 +72,7 @@ public class CreateCustomerTest extends AbstractDriverBaseTest { @Test(priority = 20, groups = "smoke") @Description public void createCustomerWithFullInformation() { - customerName = ENTITY_NAME; + String customerName = ENTITY_NAME; String text = "Text"; String email = "email@mail.com"; String number = "12015550123"; @@ -91,6 +90,7 @@ public class CreateCustomerTest extends AbstractDriverBaseTest { customerPage.phoneNumberAddEntityView().sendKeys(number); customerPage.emailAddEntityView().sendKeys(email); customerPage.addBtnC().click(); + this.customerName = customerName; customerPage.setCustomerEmail(customerName); customerPage.setCustomerCountry(customerName); customerPage.setCustomerCity(customerName); @@ -157,12 +157,13 @@ public class CreateCustomerTest extends AbstractDriverBaseTest { @Test(priority = 20, groups = "smoke") @Description public void createCustomerWithoutRefresh() { - customerName = ENTITY_NAME; + String customerName = ENTITY_NAME; sideBarMenuView.customerBtn().click(); customerPage.plusBtn().click(); customerPage.titleFieldAddEntityView().sendKeys(customerName); customerPage.addBtnC().click(); + this.customerName = customerName; Assert.assertNotNull(customerPage.customer(customerName)); Assert.assertTrue(customerPage.customer(customerName).isDisplayed()); @@ -180,4 +181,4 @@ public class CreateCustomerTest extends AbstractDriverBaseTest { Assert.assertTrue(urlContains(urlPath)); } -} +} \ No newline at end of file diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/CustomerEditMenuTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/CustomerEditMenuTest.java index cd4c81b4bc..adef7cb2cc 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/CustomerEditMenuTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/CustomerEditMenuTest.java @@ -33,7 +33,6 @@ import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; import static org.thingsboard.server.msa.ui.utils.Const.PHONE_NUMBER_ERROR_MESSAGE; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultCustomerPrototype; public class CustomerEditMenuTest extends AbstractDriverBaseTest { @@ -46,7 +45,7 @@ public class CustomerEditMenuTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/DeleteCustomerTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/DeleteCustomerTest.java index 66cf328552..43c6fc8c27 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/DeleteCustomerTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/DeleteCustomerTest.java @@ -28,7 +28,6 @@ import org.thingsboard.server.msa.ui.pages.SideBarMenuViewElements; import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultCustomerPrototype; public class DeleteCustomerTest extends AbstractDriverBaseTest { @@ -39,7 +38,7 @@ public class DeleteCustomerTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/DeleteSeveralCustomerTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/DeleteSeveralCustomerTest.java index e1c839a347..06005075c3 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/DeleteSeveralCustomerTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/DeleteSeveralCustomerTest.java @@ -27,7 +27,6 @@ import org.thingsboard.server.msa.ui.pages.SideBarMenuViewElements; import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultCustomerPrototype; public class DeleteSeveralCustomerTest extends AbstractDriverBaseTest { @@ -37,7 +36,7 @@ public class DeleteSeveralCustomerTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersAssetsTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersAssetsTest.java index 5fcafc6514..cfcf80c664 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersAssetsTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersAssetsTest.java @@ -24,8 +24,6 @@ import org.thingsboard.server.msa.ui.pages.CustomerPageHelper; import org.thingsboard.server.msa.ui.pages.LoginPageHelper; import org.thingsboard.server.msa.ui.pages.SideBarMenuViewElements; -import static org.thingsboard.server.msa.ui.utils.Const.URL; - public class ManageCustomersAssetsTest extends AbstractDriverBaseTest { private SideBarMenuViewElements sideBarMenuView; @@ -34,7 +32,7 @@ public class ManageCustomersAssetsTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); sideBarMenuView = new SideBarMenuViewElements(driver); customerPage = new CustomerPageHelper(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersDashboardsTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersDashboardsTest.java index 2328298bc8..50b6e895c8 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersDashboardsTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersDashboardsTest.java @@ -24,8 +24,6 @@ import org.thingsboard.server.msa.ui.pages.CustomerPageHelper; import org.thingsboard.server.msa.ui.pages.LoginPageHelper; import org.thingsboard.server.msa.ui.pages.SideBarMenuViewElements; -import static org.thingsboard.server.msa.ui.utils.Const.URL; - public class ManageCustomersDashboardsTest extends AbstractDriverBaseTest { private SideBarMenuViewElements sideBarMenuView; private CustomerPageHelper customerPage; @@ -33,7 +31,7 @@ public class ManageCustomersDashboardsTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); sideBarMenuView = new SideBarMenuViewElements(driver); customerPage = new CustomerPageHelper(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersDevicesTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersDevicesTest.java index df04e2ad8d..6b5d3b80fd 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersDevicesTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersDevicesTest.java @@ -24,8 +24,6 @@ import org.thingsboard.server.msa.ui.pages.CustomerPageHelper; import org.thingsboard.server.msa.ui.pages.LoginPageHelper; import org.thingsboard.server.msa.ui.pages.SideBarMenuViewElements; -import static org.thingsboard.server.msa.ui.utils.Const.URL; - public class ManageCustomersDevicesTest extends AbstractDriverBaseTest { private SideBarMenuViewElements sideBarMenuView; private CustomerPageHelper customerPage; @@ -33,7 +31,7 @@ public class ManageCustomersDevicesTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); sideBarMenuView = new SideBarMenuViewElements(driver); customerPage = new CustomerPageHelper(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersEdgesTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersEdgesTest.java index a005760952..051658eb00 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersEdgesTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersEdgesTest.java @@ -24,8 +24,6 @@ import org.thingsboard.server.msa.ui.pages.CustomerPageHelper; import org.thingsboard.server.msa.ui.pages.LoginPageHelper; import org.thingsboard.server.msa.ui.pages.SideBarMenuViewElements; -import static org.thingsboard.server.msa.ui.utils.Const.URL; - public class ManageCustomersEdgesTest extends AbstractDriverBaseTest { private SideBarMenuViewElements sideBarMenuView; @@ -34,7 +32,7 @@ public class ManageCustomersEdgesTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); sideBarMenuView = new SideBarMenuViewElements(driver); customerPage = new CustomerPageHelper(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersUsersTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersUsersTest.java index b0a917135a..509bacefc0 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersUsersTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersUsersTest.java @@ -24,8 +24,6 @@ import org.thingsboard.server.msa.ui.pages.CustomerPageHelper; import org.thingsboard.server.msa.ui.pages.LoginPageHelper; import org.thingsboard.server.msa.ui.pages.SideBarMenuViewElements; -import static org.thingsboard.server.msa.ui.utils.Const.URL; - public class ManageCustomersUsersTest extends AbstractDriverBaseTest { private SideBarMenuViewElements sideBarMenuView; @@ -34,7 +32,7 @@ public class ManageCustomersUsersTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); sideBarMenuView = new SideBarMenuViewElements(driver); customerPage = new CustomerPageHelper(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/SearchCustomerTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/SearchCustomerTest.java index 71fbae1477..7a1a4694bc 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/SearchCustomerTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/SearchCustomerTest.java @@ -27,7 +27,6 @@ import org.thingsboard.server.msa.ui.utils.DataProviderCredential; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultCustomerPrototype; public class SearchCustomerTest extends AbstractDriverBaseTest { @@ -37,7 +36,7 @@ public class SearchCustomerTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/SortByNameTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/SortByNameTest.java index 48c1a4dc5c..10538aa55f 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/SortByNameTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/SortByNameTest.java @@ -28,7 +28,6 @@ import org.thingsboard.server.msa.ui.utils.DataProviderCredential; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultCustomerPrototype; public class SortByNameTest extends AbstractDriverBaseTest { @@ -38,7 +37,7 @@ public class SortByNameTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/CreateRuleChainImportTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/CreateRuleChainImportTest.java index dd986e0798..66673a52fa 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/CreateRuleChainImportTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/CreateRuleChainImportTest.java @@ -34,7 +34,6 @@ import static org.thingsboard.server.msa.ui.utils.Const.IMPORT_RULE_CHAIN_NAME; import static org.thingsboard.server.msa.ui.utils.Const.IMPORT_TXT_FILE_NAME; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultRuleChainPrototype; public class CreateRuleChainImportTest extends AbstractDriverBaseTest { @@ -47,7 +46,7 @@ public class CreateRuleChainImportTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/CreateRuleChainTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/CreateRuleChainTest.java index b29a911e5a..2685c59b38 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/CreateRuleChainTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/CreateRuleChainTest.java @@ -32,7 +32,6 @@ import static org.thingsboard.server.msa.ui.utils.Const.EMPTY_RULE_CHAIN_MESSAGE import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; public class CreateRuleChainTest extends AbstractDriverBaseTest { @@ -42,7 +41,7 @@ public class CreateRuleChainTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/DeleteRuleChainTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/DeleteRuleChainTest.java index 3f55a7a4cb..fdecc199ad 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/DeleteRuleChainTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/DeleteRuleChainTest.java @@ -29,7 +29,6 @@ import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; import static org.thingsboard.server.msa.ui.utils.Const.ROOT_RULE_CHAIN_NAME; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultRuleChainPrototype; public class DeleteRuleChainTest extends AbstractDriverBaseTest { @@ -38,7 +37,7 @@ public class DeleteRuleChainTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/DeleteSeveralRuleChainsTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/DeleteSeveralRuleChainsTest.java index bfcea53ccc..bd6b8f73da 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/DeleteSeveralRuleChainsTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/DeleteSeveralRuleChainsTest.java @@ -28,7 +28,6 @@ import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; import static org.thingsboard.server.msa.ui.utils.Const.ROOT_RULE_CHAIN_NAME; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultRuleChainPrototype; public class DeleteSeveralRuleChainsTest extends AbstractDriverBaseTest { @@ -38,7 +37,7 @@ public class DeleteSeveralRuleChainsTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/MakeRuleChainRootTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/MakeRuleChainRootTest.java index 9cd9bbb846..a36695b316 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/MakeRuleChainRootTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/MakeRuleChainRootTest.java @@ -27,7 +27,6 @@ import org.thingsboard.server.msa.ui.pages.SideBarMenuViewElements; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; public class MakeRuleChainRootTest extends AbstractDriverBaseTest { @@ -36,7 +35,7 @@ public class MakeRuleChainRootTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/OpenRuleChainTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/OpenRuleChainTest.java index 6cd70c2b82..f77d076a35 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/OpenRuleChainTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/OpenRuleChainTest.java @@ -41,7 +41,7 @@ public class OpenRuleChainTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/RuleChainEditMenuTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/RuleChainEditMenuTest.java index a0dd8f2b4b..757b2ce78d 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/RuleChainEditMenuTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/RuleChainEditMenuTest.java @@ -29,7 +29,6 @@ import static org.thingsboard.server.msa.ui.utils.Const.EMPTY_RULE_CHAIN_MESSAGE import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultRuleChainPrototype; public class RuleChainEditMenuTest extends AbstractDriverBaseTest { @@ -40,7 +39,7 @@ public class RuleChainEditMenuTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SearchRuleChainTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SearchRuleChainTest.java index d6cf13c21d..8594147c99 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SearchRuleChainTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SearchRuleChainTest.java @@ -27,7 +27,6 @@ import org.thingsboard.server.msa.ui.utils.DataProviderCredential; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultRuleChainPrototype; public class SearchRuleChainTest extends AbstractDriverBaseTest { @@ -37,7 +36,7 @@ public class SearchRuleChainTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SortByNameTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SortByNameTest.java index df97ffb934..cdd8d14bf6 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SortByNameTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SortByNameTest.java @@ -28,7 +28,6 @@ import org.thingsboard.server.msa.ui.utils.DataProviderCredential; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultRuleChainPrototype; public class SortByNameTest extends AbstractDriverBaseTest { @@ -39,7 +38,7 @@ public class SortByNameTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SortByTimeTest.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SortByTimeTest.java index ecba81f563..ed0ed578f7 100644 --- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SortByTimeTest.java +++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SortByTimeTest.java @@ -28,7 +28,6 @@ import org.thingsboard.server.msa.ui.pages.SideBarMenuViewElements; import static org.thingsboard.server.msa.ui.utils.Const.ENTITY_NAME; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_EMAIL; import static org.thingsboard.server.msa.ui.utils.Const.TENANT_PASSWORD; -import static org.thingsboard.server.msa.ui.utils.Const.URL; import static org.thingsboard.server.msa.ui.utils.EntityPrototypes.defaultRuleChainPrototype; public class SortByTimeTest extends AbstractDriverBaseTest { @@ -39,7 +38,7 @@ public class SortByTimeTest extends AbstractDriverBaseTest { @BeforeMethod public void login() { - openUrl(URL); + openLocalhost(); new LoginPageHelper(driver).authorizationTenant(); testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD); sideBarMenuView = new SideBarMenuViewElements(driver); diff --git a/msa/black-box-tests/src/test/resources/allure.properties b/msa/black-box-tests/src/test/resources/allure.properties new file mode 100644 index 0000000000..f0525ba437 --- /dev/null +++ b/msa/black-box-tests/src/test/resources/allure.properties @@ -0,0 +1,2 @@ +allure.results.directory=target/allure-results +allure.output.directory=target/allure-results \ No newline at end of file diff --git a/msa/black-box-tests/src/test/resources/docker-selenium.yml b/msa/black-box-tests/src/test/resources/docker-selenium.yml new file mode 100644 index 0000000000..b17beb1c60 --- /dev/null +++ b/msa/black-box-tests/src/test/resources/docker-selenium.yml @@ -0,0 +1,36 @@ +# +# Copyright © 2016-2022 The Thingsboard Authors +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +version: '3' +services: + selenium-chrome: + restart: always + image: selenium/standalone-chrome + ports: + - '4444:4444' + - '7900:7900' + shm_size: 2gb + environment: + SE_NODE_MAX_SESSIONS: 8 + SE_NODE_OVERRIDE_MAX_SESSIONS: 'true' + SE_NODE_SESSION_TIMEOUT: 5000 + SE_SCREEN_WIDTH: 1920 + SE_SCREEN_HEIGHT: 1080 + SE_SCREEN_DEPTH: 24 + SE_SCREEN_DPI: 74 + extra_hosts: + - "host.docker.internal:host-gateway" + + diff --git a/pom.xml b/pom.xml index 29f74272cd..139bf53d90 100755 --- a/pom.xml +++ b/pom.xml @@ -147,6 +147,7 @@ 4.1.1 5.2.0 2.19.0 + 2.8 @@ -1677,6 +1678,12 @@ ${allure-testng.version} test + + io.qameta.allure + allure-maven + ${allure-maven.version} + test + org.hamcrest hamcrest-all