diff --git a/msa/black-box-tests/pom.xml b/msa/black-box-tests/pom.xml
index cd0dd07543..ae0b12ead7 100644
--- a/msa/black-box-tests/pom.xml
+++ b/msa/black-box-tests/pom.xml
@@ -212,8 +212,7 @@
${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
+ src/test/resources/allure.properties
diff --git a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestListener.java b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestListener.java
index ea145a97bc..bbcf6f32a3 100644
--- a/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestListener.java
+++ b/msa/black-box-tests/src/test/java/org/thingsboard/server/msa/TestListener.java
@@ -19,11 +19,6 @@ import lombok.extern.slf4j.Slf4j;
import org.openqa.selenium.WebDriver;
import org.testng.ITestListener;
import org.testng.ITestResult;
-import org.testng.internal.ConstructorOrMethod;
-import org.thingsboard.server.msa.ui.base.AbstractDriverBaseTest;
-
-import static org.testng.internal.Utils.log;
-import static org.thingsboard.server.msa.ui.base.AbstractDriverBaseTest.captureScreen;
@Slf4j
public class TestListener implements ITestListener {
@@ -41,13 +36,7 @@ public class TestListener implements ITestListener {
@Override
public void onTestSuccess(ITestResult result) {
log.info("<<<=== Test completed successfully: " + result.getName());
- ConstructorOrMethod consOrMethod = result.getMethod().getConstructorOrMethod();
- DisableUIListeners disable = consOrMethod.getMethod().getDeclaringClass().getAnnotation(DisableUIListeners.class);
- if (disable != null) {
- return;
- }
- driver = ((AbstractDriverBaseTest) result.getInstance()).getDriver();
- captureScreen(driver, "success");
+
}
/**
@@ -56,13 +45,6 @@ public class TestListener implements ITestListener {
@Override
public void onTestFailure(ITestResult result) {
log.info("<<<=== Test failed: " + result.getName());
- ConstructorOrMethod consOrMethod = result.getMethod().getConstructorOrMethod();
- DisableUIListeners disable = consOrMethod.getMethod().getDeclaringClass().getAnnotation(DisableUIListeners.class);
- if (disable != null) {
- return;
- }
- driver = ((AbstractDriverBaseTest) result.getInstance()).getDriver();
- captureScreen(driver, "failure");
}
/**
@@ -71,12 +53,5 @@ public class TestListener implements ITestListener {
@Override
public void onTestSkipped(ITestResult result) {
log.info("<<<=== Test skipped: " + result.getName());
- ConstructorOrMethod consOrMethod = result.getMethod().getConstructorOrMethod();
- DisableUIListeners disable = consOrMethod.getMethod().getDeclaringClass().getAnnotation(DisableUIListeners.class);
- if (disable != null) {
- return;
- }
- driver = ((AbstractDriverBaseTest) result.getInstance()).getDriver();
- captureScreen(driver, "skipped");
}
}
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 af3b25b924..814e623ae3 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
@@ -15,12 +15,10 @@
*/
package org.thingsboard.server.msa.ui.base;
-import com.google.common.io.Files;
import io.github.bonigarcia.wdm.WebDriverManager;
-import io.qameta.allure.Attachment;
+import io.qameta.allure.Allure;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.io.FileUtils;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.OutputType;
@@ -43,8 +41,9 @@ 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.WebDriverFactory;
-import java.io.File;
+import java.io.ByteArrayInputStream;
import java.net.URL;
import java.time.Duration;
import java.util.stream.Collectors;
@@ -67,7 +66,7 @@ abstract public class AbstractDriverBaseTest extends AbstractContainerTest {
@SneakyThrows
@BeforeMethod
- public void openBrowser() {
+ public void startUp() {
log.info("===>>> Setup driver");
testRestClient.login(TENANT_EMAIL, TENANT_PASSWORD);
ChromeOptions options = new ChromeOptions();
@@ -85,7 +84,8 @@ abstract public class AbstractDriverBaseTest extends AbstractContainerTest {
}
@AfterMethod
- public void closeBrowser() {
+ public void teardown() {
+ captureScreen(driver);
log.info("<<<=== Teardown");
driver.quit();
}
@@ -157,11 +157,11 @@ abstract public class AbstractDriverBaseTest extends AbstractContainerTest {
}
}
- @SneakyThrows
- @Attachment(value = "Page screenshot", type = "image/png")
- public static byte[] captureScreen(WebDriver driver, String dirPath) {
- File screenshot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
- FileUtils.copyFile(screenshot, new File("./target/allure-results/screenshots/" + dirPath + "//" + screenshot.getName()));
- return Files.toByteArray(screenshot);
+
+ public static void captureScreen(WebDriver driver) {
+ if (driver != null) {
+ Allure.addAttachment("Page screenshot",
+ new ByteArrayInputStream(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES)));
+ }
}
}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 77aeb81498..5f89fe1f2f 100755
--- a/pom.xml
+++ b/pom.xml
@@ -146,8 +146,8 @@
1.0.0
4.6.0
5.2.0
- 2.19.0
- 2.8
+ 2.21.0
+ 2.10.0