首页 文章

重试分析器和范围报告

提问于
浏览
0

我正在使用硒项目的重试分析器和范围报告 . 当测试用例失败时,使用重试分析器将失败的测试用例运行两次 . 问题是在范围报告中我能够看到两个运行 . 一个是滑雪,另一个是失败 .

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

范围reoprt版本 - 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());
    }

This images shows same test case, but i need only one to be logged

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(); 
           }
        }
     }
    

相关问题