仅使用TestNG重试特定的失败测试

时间:2014-12-28 14:44:50

标签: selenium selenium-webdriver testng

如何仅执行特定的失败测试。通过使用'IRetryAnalyzer',我们可以重新运行失败的测试x次。正如这里提到的Restart failed test case automatically。我还实施了iTestListener,通过关注Retry Only failed Testsupdate test run count by implementing 'ITestListener'

,使测试计数更充分

有没有办法只重新运行特定的失败测试。

示例:我们只需执行因NoSuchElementException和TimeoutException而失败的测试。

请查看下面的屏幕截图,其中总共8个测试失败,并且有6个测试由于NoSuchElementException-1和TimeoutException-5而失败。 enter image description here

请帮忙。

1 个答案:

答案 0 :(得分:4)

您可以通过检查测试结果来尝试:

@Override
public boolean retry(ITestResult result) {
try {
    if (result.getThrowable().toString()
        .contains("NoSuchElementException")) // Checking for specific reasons of failure
        if (retryCount < maxRetryCount) {
            retryCount++;
            return true;
        }
    return false;
    } catch (Exception e) {
        return false;
    }
}

由于每个结果都有一个属性m_throwable,如果发生异常,您可以使用它在Retry类中完成任务。