testNG-失败用例重跑方法探究

简介: testNG-失败用例重跑方法探究
实现IRetryAnalyzer类,重写其中的retry方法
public class TestNGRetry  implements IRetryAnalyzer {
    private int retryCount = 1;
    private static final int maxRetryCount = 3;
    @Override
    public boolean retry(ITestResult result) {
        if (retryCount<=maxRetryCount){
            retryCount++;
            return true;
        }
        return false;
    }
    public void reSetCount(){
        retryCount=1;
    }
}


在测试方法上面
@Test(retryAnalyzer= TestNGRetry.class)

就可以执行了。


image.png


可以写个监听器,放到xml配置里面,这样所有的测试用例都能用这个重试方法了


public class RetryListener implements IAnnotationTransformer {
        @Override
        public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor,
                Method testMethod) {
            IRetryAnalyzer retryAnalyzer = annotation.getRetryAnalyzer();//获取到retryAnalyzer的注解
            if (retryAnalyzer == null){ annotation.setRetryAnalyzer(TestNGRetry.class);
            } 
            }
         }
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" parallel="false" thread-count="2">
 <listeners>
        <listener
            class-name="chongshi.tesng.TestRunnerListener" />
        <listener class-name="chongshi.tesng.RetryListener"/>
    </listeners>
  <test name="Test">
    <classes>
      <class name="chongshi.tesng.New"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

测试函数


image.png

image.png


这样就可以完成了所有测试用例的重试工作。


可以加到我们的测试中使用了。

相关文章
|
6月前
|
测试技术
包含用例执行时间的测试报告代码
包含用例执行时间的测试报告代码
|
3月前
|
Cloud Native 数据处理
项目环境测试问题之当异步任务在运行过程中抛出非预期的异常会导致后果如何解决
项目环境测试问题之当异步任务在运行过程中抛出非预期的异常会导致后果如何解决
|
4月前
|
测试技术
详解单元测试问题之Mockito中添加或更新打桩列表如何解决
详解单元测试问题之Mockito中添加或更新打桩列表如何解决
59 3
|
4月前
|
测试技术
单元测试策略问题之Mock测试的问题如何解决
单元测试策略问题之Mock测试的问题如何解决
|
4月前
|
测试技术 Apache
单元测试策略问题之设计有效的单测用例问题如何解决
单元测试策略问题之设计有效的单测用例问题如何解决
|
4月前
|
存储 前端开发 开发工具
详解单元测试问题之VerificationMode为空如何解决
详解单元测试问题之VerificationMode为空如何解决
31 0
|
4月前
|
测试技术 开发者
单元测试问题之增加代码变更如何解决
单元测试问题之增加代码变更如何解决
|
6月前
|
测试技术
Cypress 运行失败用例的方法
Cypress 运行失败用例的方法
|
6月前
|
测试技术
需求不明确的情况下,测试该如何处理?
需求不明确的情况下,测试该如何处理?
130 0
|
自然语言处理 搜索推荐 Java
【网安AIGC专题10.25】9 LIBRO方法(ICSE2023顶会自动化测试生成):提示工程+查询LLM+选择、排序、后处理(测试用例函数放入对应测试类中,并解决执行该测试用例所需的依赖)
【网安AIGC专题10.25】9 LIBRO方法(ICSE2023顶会自动化测试生成):提示工程+查询LLM+选择、排序、后处理(测试用例函数放入对应测试类中,并解决执行该测试用例所需的依赖)
265 0