我正在我的项目中实现名为 TestListenerAdapter 的自定义测试监听器,我编写了代码来捕获监听器类的onTestFailure方法中的截图 . 我还创建了以下方法,我在OnTestFailure方法中调用:

@Attachment(type = "image/png")
private byte[] createAttachment() {
    return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
}

public void onTestFailure(ITestResult result)
{
  createAttachment();
}

上述方法并未将屏幕截图附加到Allure报告中 .

如果我们在@Test方法中调用createAttachment()方法,则只会将屏幕截图添加到合法报告中 . 在每个@Test中添加屏幕截图方法是繁忙的任务,因此我在TestNG监听器中实现了此方法,以便在测试用例失败时捕获屏幕截图 .

如果有办法在TestListenerAdapter监听器的onTestFailure()方法中使用上面提到的createAttachment()方法,请告诉我 .