Mos*_*ted 7 testng selenium restart testcase
我使用Selenium webdriver,在Java中使用TestNG运行X量的测试用例.
我想要的是,任何测试用例一旦失败就会自动重启(从启动或从失败点开始).
我知道TestNG框架有以下方法
@Override
public void onTestFailure(ITestResult tr) {
log("F");
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何找出它是哪个测试用例,然后我将如何重新启动它.
我想在其中看到一个包含实际代码的示例,并在此处找到它: 使用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
}
}
Run Code Online (Sandbox Code Playgroud)
来自testng.org
每次测试在套件中失败时,TestNG都会在输出目录中创建一个名为testng-failed.xml的文件.此XML文件包含仅重新运行失败的这些方法的必要信息,使您可以快速重现故障,而无需运行整个测试.
如果要在失败后完全重新运行测试,则需要调用失败的方法.您可以从ITestResult对象获取该方法名称.
如果要一起重新运行所有失败的测试用例,则可以在第一次执行后将testng-failed.xml作为输入xml.
| 归档时间: |
|
| 查看次数: |
23166 次 |
| 最近记录: |