[求助] ExtentReports 报告中如何踢除失败重跑的用例数

凉秀策
凉秀策
凉秀策
订阅者
260
文章
0
粉丝
测试交流1 191字数 273阅读0分54秒阅读模式

我用的是 testng+ExtentReports 组合生成的报告 可是踢除并不管用 testng 用的 6.10 版本
实现的是 ITestListener 接口的 onFinish 方法,最后重跑的结果全是 skip 状态

[求助] ExtentReports 报告中如何踢除失败重跑的用例数-图片1

代码如下:
1、失败重跑

public class TestRetryAnalyzer implements IRetryAnalyzer{
//当前数
private int retryCount = 1;
//最多重跑次数
private int maxRetryTimes = Config.retryTimes;
@Override
public boolean retry(ITestResult result) {
if(retryCount <= maxRetryTimes){
result.setAttribute("RETRY", retryCount);
Log.info("用例:"+ result.getName()+" 正在进行第"+retryCount+"次失败重跑");
Reporter.log("用例:"+ result.getName()+" 正在进行第"+retryCount+"次失败重跑");
retryCount++;
return true;
}
return false;
}
}

2、添加失败重跑和踢除:

//剔除失败重跑的用例数
@Override
public void onFinish(ITestContext context) {
Iterator<ITestResult> listOfFailedTests = context.getFailedTests().getAllResults().iterator();
while(listOfFailedTests.hasNext()){
ITestResult failedTest = listOfFailedTests.next();
ITestNGMethod method = failedTest.getMethod();
if(context.getFailedTests().getResults(method).size()>1){
listOfFailedTests.remove();
}
}
extent.flush();
}
//给所有用例添加失败重跑机制
@Override
public synchronized void onStart(ITestContext context) {
Log.info("正在为所有测试方法添加失败重跑机制");
for(ITestNGMethod method: context.getAllTestMethods()){
method.setRetryAnalyzer(new TestRetryAnalyzer());
}
}

可是报告还是打印重跑的用例,而且状态是跳过状态

[求助] ExtentReports 报告中如何踢除失败重跑的用例数-图片2

踢除没有起作用

赤峰软件功能测试

 
  • 版权提示:非本站文章仅供存储任何法律责任由作者承担▷违法举报◁▷新闻不符◁▷我要投稿◁
    免责声明:部分内容来自用户上传发布或新闻客户端自媒体如有侵权请反馈站长处理
  • 原创转载:阅读转载说明>>> https://www.playezu.com/zixun/jiaoliu/qiuzhu-extentreports-baogaozhongruhetichushibaizhongpaodeai.html
    • xuyaovScorpion
      xuyaovScorpion 9

      好的,明天我试试
      仅楼主可见没关系 我在研究一下请问是是如何解决的呀

    匿名

    发表评论

    匿名网友
    确定

    拖动滑块以完成验证