我正在使用Selenium webdriver,在 Java中使用TestNG来运行X量的测试用例. 我想要的是,任何测试用例一旦失败就会自动重启(从启动或从故障点开始). 我知道TestNG框架有以下方法 @Override public v
我想要的是,任何测试用例一旦失败就会自动重启(从启动或从故障点开始).
我知道TestNG框架有以下方法
@Override
public void onTestFailure(ITestResult tr) {
log("F");
}
但我不知道如何找出它是哪个测试用例,然后我将如何重新启动它.
我想看一个包含实际代码的示例,并在此处找到它:Restarting Test immediately with 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
}
}
