使用Allure在失败时捕获屏幕截图

时间:2015-03-15 08:47:13

标签: java maven junit webpage-screenshot allure

我一直在玩Allure框架,我认为如果发生任何错误/失败(基本上任何事情都没有通过),我想抓一个截图。

我正在使用Java / Junit / Maven。

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

我原本以为会有一个测试用例状态或者我可以检查作为拆除的一部分,但是没有找到任何东西。

有人有什么想法吗?

1 个答案:

答案 0 :(得分: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);
    }
};