我正在使用 Selenium webdriver,在 Java 中与 TestNG 一起运行 X 数量的测试用例。
我希望任何测试用例一旦失败就自动重新启动(无论是从开始还是从故障点)。
我知道TestNG框架有以下方法
@Override
public void onTestFailure(ITestResult tr) {
log("F");
}
但我不知道如何找出它是哪个测试用例,然后如何重新启动它。
我想查看一个包含实际代码的示例,并在这里找到了它:使用 TestNg 立即重新启动测试
观察一旦发生故障,以下测试将如何重新运行一次。
import org.testng.Assert;
import org.testng.IRetryAnalyzer;
import org.testng.ITestResult;
import org.testng.annotations.Test;
public class Retry implements IRetryAnalyzer {
private int retryCount = 0;
private int maxRetryCount = 1;
public boolean retry(ITestResult result) {
if (retryCount < maxRetryCount) {
retryCount++;
return true;
}
return false;
}
@Test(retryAnalyzer = Retry.class)
public void testGenX() {
Assert.assertEquals("james", "JamesFail"); // ListenerTest fails
}
@Test(retryAnalyzer = Retry.class)
public void testGenY() {
Assert.assertEquals("hello", "World"); // ListenerTest fails
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)