1

大家好。 有一个使用 BDD (Jbehave) (Thucydides) 的现成项目

需要将 Allure 报告与项目联系起来。为此,AllureReporter 取自这里 allure-jbehave-reporter 报告正在工作,一切都很好。

但是有一个大问题,测试是在 Selenium Hub 上的 RemoteWebDriver 的帮助下开始的。我们需要屏幕截图来了解问题所在,以及那里发生了什么。

目前,Allure 没有截取屏幕截图。也就是说,不会从屏幕上截取屏幕截图,也不会附加任何屏幕截图。

试过:

@Attachment(value = "Page screenshot", type = "image/png")
public byte[] saveScreenshot(byte[] screenShot) {
    return screenShot; 
}

public static byte[] takeScreenshot() {
    WebDriver driver = ThucydidesWebDriverSupport.getDriver();
    if (WebDriverFactory.isAlive(driver) && (driver instanceof TakesScreenshot)) {
        return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
    }
    return null;
}

Allure.addAttachment()

这一切都不适合我。

这种方式有效,从屏幕上截取屏幕截图并添加他们指定的文件夹,但是!它们没有附在报告中。

@Attachment(value = "Page screenshot", type = "image/png")
public byte[] saveScreenAsImage() throws IOException {
    WebDriver driver = ThucydidesWebDriverSupport.getDriver();
    File file = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
    FileUtils.copyFile(file, new File("target/allure-results/" + file.getName()));
    return Files.toByteArray(file);
}

有什么想法可以解决这个问题吗?

提前致谢。

这是POM

<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-java-commons</artifactId>
    <version>2.6.0</version>
</dependency>
<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-generator</artifactId>
    <version>2.5.0</version>
</dependency>

<plugin>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-maven</artifactId>
    <version>2.9</version>
    <configuration>
        <reportVersion>2.6.0</reportVersion>
        <allureDownloadUrl>https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.6.0/allure-2.6.0.zip</allureDownloadUrl>
    </configuration>
    <executions>
        <execution>
            <id>allure-report</id>
            <phase>post-integration-test</phase>
            <goals>
                <goal>report</goal>
            </goals>
        </execution>
    </executions>
</plugin>
4

0 回答 0