如果其中的任何测试套件失败,是否可以重试整个测试用例?
我尝试使用this.retries()
,但是由于某种原因,只要我的测试失败,它就会在运行一次后停止。在特定的测试套件中使用它可以工作,但会给我带来误报(即使在错误的屏幕上也可以通过测试),而且如果我的测试在之前的钩子上失败,这将无法正常工作。我也尝试过使用retries
选项,但是在运行失败后它也停止了运行。
我正在将Appium
与MochaJS
和WebdriverIO
结合使用来测试Android应用。
编辑:不使用TestNG或上面列出的框架以外的任何其他框架。
答案 0 :(得分:2)
理想情况下,除非您在测试套件/测试用例中使用粗箭头功能,否则mocha中的this.retries选项在Webdriverio中应该可以正常工作。请尝试与Webdriverio gitter频道联系以获取最新问题或解决方法。他们非常有帮助。
答案 1 :(得分:0)
您可以使用Retry Analyzer,只需创建一个方法即可:
public class RetryAnalyzer implements IRetryAnalyzer {
int counter = 1;
int retryLimit = 3; //Change the limit, how many time you want to retry
@Override
public boolean retry(ITestResult result) {
if(counter < retryLimit) {
counter++;
return true;
}
return false;
}
}
在@Test
注释中使用上述方法,如下所示:
@Test(retryAnalyzer = RetryAnalyzer.class)
public void testCaseName() throws Exception {
//Your code
}