接口自动化监听与重试

99 阅读52分钟

testng对失败的测试用例实时重跑,有下面几个要求:

1.测试用例运行失败,Listenser监听到失败后立即重跑

2.测试用例通过dependsOnMethods/dependsOnGroupsb标记依赖的测试用例重跑运行成功后,该测试用例可以继续运行

3.对于重跑多次的测试用例,只记录最后一次成功的记录

一 测试用例重跑

重跑原理

IRetryAnalyzer retryAnalyzer = testMethod.getRetryAnalyzer();

 boolean willRetry = retryAnalyzer != null && status == ITestResult.FAILURE &&failure.instances != null && retryAnalyzer.retry(testResult);

if (willRetry) { resultsToRetry.add(testResult); failure.count++; failure.instances.add(testResult.getInstance());

 testResult.setStatus(ITestResult.SKIP);

} else {

 testResult.setStatus(status); if (status == ITestResult.FAILURE && !handled) { handleException(ite, testMethod, testResult, failure.count++);

 }

设置重试的重跑次数

重跑的实例