3

我一直在玩 Allure 框架,我认为如果发生任何错误/失败(基本上任何不是通过的)我想捕获一个屏幕截图。

我正在使用 Java/Junit/Maven。

我已经看到有多种使用@Rule 的方法来执行此操作,但不确定这是否会将屏幕截图保存在报告中。

我原以为会有一个测试用例状态或一些我可以在拆解过程中检查的东西,但找不到任何东西。

有人有想法么?

4

1 回答 1

3

JUnit 规定它是在失败时保存屏幕截图的默认方式。一个例子:

@Rule
public TestWatcher screenshotOnFailure = new TestWatcher() {
    @Override
    protected void failed(Throwable e, Description description) {
        makeScreenshotOnFailure();
    }

    @Attachment("Screenshot on failure")
    public byte[] makeScreenshotOnFailure() {
        return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
    }
};
于 2015-03-16T10:07:29.707 回答