当前位置 : 主页 > 网络安全 > 测试自动化 >

在TestNG / Selenium中自动重新启动失败的测试用例

来源:互联网 收集:自由互联 发布时间:2021-06-19
我正在使用Selenium webdriver,在 Java中使用TestNG来运行X量的测试用例. 我想要的是,任何测试用例一旦失败就会自动重启(从启动或从故障点开始). 我知道TestNG框架有以下方法 @Override public v
我正在使用Selenium webdriver,在 Java中使用TestNG来运行X量的测试用例.

我想要的是,任何测试用例一旦失败就会自动重启(从启动或从故障点开始).

我知道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

    }
}
网友评论