在我的@AfterSuite
批注中,我试图生成以testng-results.xml
作为输入的Jasper报告。但是,这里的问题是,testng-results.xml
仅在执行@AfterSuite
批注之后生成。我想知道是否有可能在运行@AfterSuite
注释之前生成测试结果。任何帮助/建议表示赞赏。
我知道有一些与此问题here相关的答案。但是我没有找到确切的方法。
答案 0 :(得分:1)
文件testng-results.xml
由TestNG的内置报告程序org.testng.reporters.XMLReporter
生成。仅在报告阶段(即,在所有套件都运行完毕之后)才启动该报告程序。
因此,无法在@AfterSuite
带注释的方法运行完成之前生成此文件。
您可以改为通过其org.testng.IExecutionListener
方法中的侦听器onExecutionFinish()
来构建基于jasper报表的逻辑。
在所有报告均已生成的报告阶段之后,将调用此侦听器。
另一个选择是您执行以下操作:
org.testng.reporters.XMLReporter
的新记者<properties>
<property>
<name>usedefaultlisteners</name>
<value>false</value>
</property>
</properties>
@Listeners
注释(或)<listeners>
标签(或)