Selenium webdriver 从自定义TestNG listener-TestListenerAdapter获取诱惑报告的屏幕截图

Selenium webdriver 从自定义TestNG listener-TestListenerAdapter获取诱惑报告的屏幕截图,selenium-webdriver,testng,allure,Selenium Webdriver,Testng,Allure,我正在我的项目中实现名为TestListenerAdapter的定制测试侦听器,我编写了捕获侦听器类的onTestFailure方法中的屏幕截图的代码。我还创建了以下方法,并调用了OnTestFailure方法: @Attachment(type = "image/png") private byte[] createAttachment() { return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES); }

我正在我的项目中实现名为TestListenerAdapter的定制测试侦听器,我编写了捕获侦听器类的onTestFailure方法中的屏幕截图的代码。我还创建了以下方法,并调用了OnTestFailure方法:

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

public void onTestFailure(ITestResult result)
{
  createAttachment();
}
上述方法不是将屏幕截图附加到诱惑报告

如果我们在@Test method中调用createAttachment()方法,那么只有屏幕截图被添加到诱惑报告中。 在每个@Test中添加屏幕截图方法是一项繁忙的任务,所以我在TestNG listener中实现了这个方法,以便在测试用例失败时捕获屏幕截图


请告诉我是否有方法使用TestListenerAdapter listener的onTestFailure()方法中的上述createAttachment()方法。

您如何将侦听器添加到测试中?使用SPI all works fine嗨Charlie,我从TestNG.xml文件调用创建的“TestListener.java”(我的listener类)类。请查找下面的代码:
我们正在使用Ant运行脚本,我正在从Build.xml文件调用TestNG.xml文件。然而,下面的实现对我来说很有效。现在,我正在使用TestNG的'@Listeners'注释调用实际testcase类中的listener类
@Listeners({com.listener.TestListener.class})public class OtherLinks{****code****}
如果还没有实现从“TestNG.xml”文件调用listener类,那么它可以作为未来的改进,因为我们必须在每个testcase文件中调用@Listeners注释。我不知道问题出在哪里。AspectJ的行为异常。似乎testNG使用很少的线程来解析/处理testNG.xml配置。@好的,我会调查。为了让我开始,这会是在诱惑测试适配器罐?