我正在使用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 } }