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

凉秀策 测试交流1 99字数 1158阅读模式

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

代码如下:
1、失败重跑文章源自玩技e族-https://www.playezu.com/192769.html

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、添加失败重跑和踢除:文章源自玩技e族-https://www.playezu.com/192769.html

//剔除失败重跑的用例数
@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());
}
}

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

文章源自玩技e族-https://www.playezu.com/192769.html

踢除没有起作用文章源自玩技e族-https://www.playezu.com/192769.html赤峰软件功能测试文章源自玩技e族-https://www.playezu.com/192769.html文章源自玩技e族-https://www.playezu.com/192769.html

玩技站长微信
添加好友自动发送入群邀请
weinxin
rainbow-shownow
玩技官方公众号
官方微信公众号
weinxin
PLAYEZU
 
  • 版权提示:本站仅供存储任何法律责任由作者承担▷诈骗举报◁▷新闻不符◁▷我要投稿◁
    风险通知:非原创文章均为网络投稿真实性无法判断,侵权联系2523030730
    免责声明:内容来自用户上传发布或新闻客户端自媒体,切勿!切勿!切勿!添加联系方式以免受骗。
  • 原创转载:https://www.playezu.com/192769.html
    转载说明: 点我前往阅读>>>
    • xuyaovScorpion
      xuyaovScorpion 9

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

    匿名

    发表评论

    匿名网友
    确定