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