如何在执行方法时设置测试方法的调用次数

问题描述:

我想多次重新运行一个测试用例。如何在执行方法时设置测试方法的调用次数

我发现:

@Test(invocationCount=10, threadPoolSize=1) 

annotation.setInvocationCount(15); 

改变倍。

但它在案件被调用之前执行。我需要在这种情况下做一些事情,然后我可以知道是否需要重新运行它。是否可以改变案例中的重新运行时间,而不是在它之前定义它?

你所寻找的是一个RetryAnalyzerhttp://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; 
    } 
} 
+0

你好,谢谢你它的工作原理,但应当将案件无法再触发重新运行,难道成功也引发重演? –

+0

没有。 'invocationCount'没有任何监听器。但是您可能会失败(通过例外)您想要重新运行的情况,然后使用重试分析器机制。 – juherr