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