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

Dev*_*Raj 2 testng selenium selenium-webdriver

如何仅执行特定的失败测试。通过使用“IRetryAnalyzer”,我们可以重新运行失败的测试 x 次。正如这里提到的,自动重启失败的测试用例。我还实现了 iTestListener,通过遵循Retry Only failed Tests通过实现“ITestListener”更新测试运行计数,使测试计数更有意义

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

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

请找到以下屏幕截图,其中总共有 8 个测试失败,有 6 个测试由于 NoSuchElementException-1 和 TimeoutException-5 而失败。 在此处输入图片说明

请帮忙。

Viv*_*ngh 5

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

@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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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