我想在所有测试套件执行结束时运行自定义方法,无论是成功还是失败。所以当testNG输出时
测试运行:6,失败:1,错误:0,跳过:0,经过的时间:80.718秒<<<失败! - 在TestSuite中
在此之后,假设我运行了2个IT套件,每个套件包含3个测试方法。所以在运行所有6个案例的最后,我想运行一些自定义方法。我怎样才能做到这一点? 我尝试实现自定义IExecutionListener和IReporter,但每个套件都运行一次。所以对于我的2个IT课程,我会让他们执行两次。 任何人都可以建议每个套件运行一次回调的方法吗?
答案 0 :(得分:3)
即使javadocs说IsuiteListener的onFinish应该在每个套件运行时执行一次,但我看到它被多次执行。所以我使用了IExecutionListener。下面是我使用的代码。
public class MyReporter implements IExecutionListener {
@Override
public void onExecutionStart() {
}
@Override
public void onExecutionFinish() {
ReportDownloadUtil.downloadReport();
}
}
答案 1 :(得分:1)
在ISuiteListener接口中尝试onFinish()。根据文档,它在所有套件运行后运行。见here