1

我正在为 selenium 项目使用重试分析器和范围报告。当测试用例失败时,使用重试分析器运行失败的测试用例两次。问题在范围报告中能够看到两个运行。一个为已跳过,另一个为失败。

如何修改范围报告,使其只提供最终运行的测试结果,即只报告失败。

范围报告版本 - 2.41.2

Code:
Retry Analyzer:
public class RetryAnalyzer implements IRetryAnalyzer{
    int counter = 0;
    int retryLimit = 1;

    public boolean retry(ITestResult result){
        if(counter<retryLimit){
            counter++;
            return true;
        }
        return false;
    }

}

@BeforeMethod
    public void aSetup(Method method) {
        Report.loadConfig(new File(".\\Reports\\extent-config.xml"));
        logger = Report.startTest(method.getName());
    }

此图像显示相同的测试用例,但我只需要记录一个

4

1 回答 1

0

在 testLisener onTestFailure 方法中,您可以检查计数器,如果计数器为 1,则不执行任何其他报告。

@Override 
public void onFinish(ITestContext context) { 

Iterator<ITestResult> skippedTestCases = context.getSkippedTests().getAllResults().iterator(); 

while (skippedTestCases.hasNext()) { 
  ITestResult skippedTestCase = skippedTestCases.next(); 
  ITestNGMethod method = skippedTestCase.getMethod(); 
    if (context.getSkippedTests().getResults(method).size() > 0) { 
       skippedTestCases.remove(); 
       }
    }
 }
于 2018-07-24T10:04:08.897 回答