我试图根据导致错误的异常/错误类型对TestNG失败进行分类。有办法做到这一点吗?我对TestNG来说相对较新,所以感谢任何可能的帮助
答案 0 :(得分:2)
是的,您可以按照以下整体方法执行此操作。
org.testng.IReporter
ITestResult
对象,然后通过org.testng.ITestResult#getThrowable
检查其异常,然后包含您的逻辑以对故障进行分类。这是一个草案实施
public class SampleReporter implements IReporter {
@Override
public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) {
for (ISuite suite : suites) {
Map<String, ISuiteResult> suiteResults = suite.getResults();
for (ISuiteResult sr : suiteResults.values()) {
ITestContext tc = sr.getTestContext();
Set<ITestResult> failedResults = tc.getFailedTests().getAllResults();
for (ITestResult failedResult : failedResults) {
Throwable throwable = failedResult.getThrowable();
if (throwable instanceof WebDriverException) {
//classify this as a selenium exception
}
}
}
}
}
}
您现在可以决定使用以下选项之一
连接此侦听器@Listeners
注释。<listeners>
标记您可以参考我的this博客文章,了解更多有关TestNG听众的信息,以及上面列出的所有上传听众注意方式。