Browse Source

add selenium grid, add allure.properties, add allure plugin

pull/7670/head
Serafym Tuhai 4 years ago
parent
commit
18ce718b50
  1. 10
      msa/black-box-tests/pom.xml
  2. 2
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/AbstractContainerTest.java
  3. 7
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ContainerTestSuite.java
  4. 7
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestProperties.java
  5. 47
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/base/AbstractDriverBaseTest.java
  6. 20
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/listeners/TestListener.java
  7. 11
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/CreateCustomerTest.java
  8. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/CustomerEditMenuTest.java
  9. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/DeleteCustomerTest.java
  10. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/DeleteSeveralCustomerTest.java
  11. 4
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersAssetsTest.java
  12. 4
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersDashboardsTest.java
  13. 4
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersDevicesTest.java
  14. 4
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersEdgesTest.java
  15. 4
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/ManageCustomersUsersTest.java
  16. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/SearchCustomerTest.java
  17. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/customerSmoke/SortByNameTest.java
  18. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/CreateRuleChainImportTest.java
  19. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/CreateRuleChainTest.java
  20. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/DeleteRuleChainTest.java
  21. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/DeleteSeveralRuleChainsTest.java
  22. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/MakeRuleChainRootTest.java
  23. 2
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/OpenRuleChainTest.java
  24. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/RuleChainEditMenuTest.java
  25. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SearchRuleChainTest.java
  26. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SortByNameTest.java
  27. 3
      msa/black-box-tests/src/test/java/org/thingsboard/server/msa/ui/tests/ruleChainsSmoke/SortByTimeTest.java
  28. 2
      msa/black-box-tests/src/test/resources/allure.properties
  29. 36
      msa/black-box-tests/src/test/resources/docker-selenium.yml
  30. 7
      pom.xml

10
msa/black-box-tests/pom.xml

@ -206,6 +206,16 @@
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>${allure-maven.version}</version>
<configuration>
<reportVersion>${allure-testng.version}</reportVersion>
<allureDownloadUrl>https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
${allure-testng.version}/allure-commandline-${allure-testng.version}.zip</allureDownloadUrl>
</configuration>
</plugin>
</plugins>
</build>

2
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();

7
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<String, String> queueEnv = new HashMap<>();
@ -230,4 +231,8 @@ public class ContainerTestSuite {
fail("failed to update file");
}
}
public DockerComposeContainer<?> getTestContainer() {
return testContainer;
}
}

7
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;

47
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 {

20
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) {

11
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));
}
}
}

3
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);

3
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);

3
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);

4
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);

4
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);

4
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);

4
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);

4
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);

3
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);

3
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);

3
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);

3
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);

3
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);

3
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);

3
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);

2
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);

3
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);

3
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);

3
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);

3
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);

2
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

36
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"

7
pom.xml

@ -147,6 +147,7 @@
<selenium.version>4.1.1</selenium.version>
<webdrivermanager.version>5.2.0</webdrivermanager.version>
<allure-testng.version>2.19.0</allure-testng.version>
<allure-maven.version>2.8</allure-maven.version>
</properties>
<modules>
@ -1677,6 +1678,12 @@
<version>${allure-testng.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-maven</artifactId>
<version>${allure-maven.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>

Loading…
Cancel
Save