java - 在 Allure [Java - Selenium] 中添加截图

标签 java selenium jenkins screenshot allure

我在集成用 selenium - java 编写的自动化测试与支持在 allure 中截取屏幕截图时遇到问题。我创建了一个运行良好的界面。基本拍照(保存到文件夹。 下面我插入了代码:

public void onTestFailure(ITestResult result) {
        // TODO Auto-generated method stub
        //screenshot

        try {
            b.getScreenshot(result.getName());
        } catch (IOException e) {
            e.printStackTrace();
        }
}

我通过将其添加到以下位置来转换它:

public void onTestFailure(ITestResult result) {
        // TODO Auto-generated method stub
        //screenshot

        try {
            b.getScreenshot(result.getName());
        } catch (IOException e) {
            e.printStackTrace();
        }

        Allure.addAttachment("screenShot", new ByteArrayInputStream(((TakesScreenshot)result.getTestContext().getAttribute("WebDriver")).getScreenshotAs(OutputType.BYTES)));

        Object webDriverAttribute = result.getTestContext().getAttribute("WebDriver");
        captureScreenshot((WebDriver) webDriverAttribute);
    }

不幸的是,我不想采取行动。我正在寻求帮助,并提前感谢您。

最佳答案

我为我的界面添加了一些内容

@Attachment
    public byte[] captureScreenshot(WebDriver driver) {
        return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
    }

关于java - 在 Allure [Java - Selenium] 中添加截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59338337/

相关文章:

java - Java 自动堆增加 "transparent"还是有成本?

python - 无法使用 xpath 找到 img 元素

java - 如果我通过 testng.xml 运行测试,则会出现 NullPointerException,但它一次可以正常工作

jenkins - 在Jenkins中产生CTest结果(xUnit> = 1.58)

java - Jenkins : Add custom jar in maven project

java - 使用 Spring Data JPA 的模型库(继承)

java - getServletContext().getRealPath() 在 Controller (NPE)中不起作用,但在 jsp 中起作用

windows - 如何在 Windows 上构建 chromedriver.exe

java - Jenkins 中的集成测试

java - 您如何思考和预测这样的线程问题的输出?