如何在执行方法时设置测试方法的调用次数
问题描述:
我想多次重新运行一个测试用例。如何在执行方法时设置测试方法的调用次数
我发现:
@Test(invocationCount=10, threadPoolSize=1)
和
annotation.setInvocationCount(15);
改变倍。
但它在案件被调用之前执行。我需要在这种情况下做一些事情,然后我可以知道是否需要重新运行它。是否可以改变案例中的重新运行时间,而不是在它之前定义它?
答
你所寻找的是一个RetryAnalyzer
:http://toolsqa.com/selenium-webdriver/implement-iretryanalyzer-to-retry-failed-test-in-testng-framework/
public class RetryAnalyzer implements IRetryAnalyzer {
@Override
public boolean retry(ITestResult result) {
boolean shouldRetry = // business logic
if(shouldRetry) {
return true;
}
return false;
}
}
你好,谢谢你它的工作原理,但应当将案件无法再触发重新运行,难道成功也引发重演? –
没有。 'invocationCount'没有任何监听器。但是您可能会失败(通过例外)您想要重新运行的情况,然后使用重试分析器机制。 – juherr