在我的项目中,我有maven和TestNG工具 . 我正在尝试为Allure报告添加屏幕截图 . 如果我直接从我的测试中调用带有“@Attachment”注释的方法,一切都没问题 .
但是,如果我在“@AfterMethod”部分中调用它,屏幕截图会被添加到错误的报告中并混淆 .
在这两种情况下,屏幕截图都会生成并正确保存在磁盘上 .
我已经在这里看到了这个问题:Allure Framework: TestNG adapter incorrectly places @AfterMethod in report
我想,我的困难可能是因为TestNG适配器 .
调用“@Attachment”方法的正确方法是什么?我必须使用什么适配器才能避免此问题?也许有人可以向我提供使用ITestListener仅在测试失败时制作屏幕截图的示例?
2 回答
我也遇到了与Maven / TestNG项目完全相同的问题,其中@AfterMethod无法成功附加屏幕捕获 . 来自Illia的上述解决方案对我来说非常有效 . 谢谢Illia!
我和Allure TestNG有类似的问题,并通过我的BaseTest类实现 IHookable 接口来解决它 . 实现它的run()方法你只需告诉TestNG像往常一样运行测试但是捕获异常以获取截图
Javadoc说:
代码段如下:
注意,你还不能使用testResult.isSuccess(),因为测试方法结果执行尚未知,并且当时它具有“RUNNING”状态
这将在捕获异常后立即截取屏幕截图,并将其置于合适报告中的正确测试用例中