• 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)

    就可以执行了。

    可以写个监听器,放到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 -->

    测试函数

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

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

  • 相关阅读:
    gdb查看内存(转)
    c++ 前置++与后置++的区别
    stl第二级空间配置器详解(1)
    stl空间配置器简介
    套接字描述符就绪条件
    针对TCP连接异常断开的分析
    linux僵尸进程产生的原因以及如何避免产生僵尸进程
    k8s istio 配置域名转发到外部节点机器上
    tinymce增加mathjax 支持数学公式录入渲染
    vue 配置 TinyMCE
  • 原文地址:https://www.cnblogs.com/leiziv5/p/10222946.html
Copyright © 2020-2023  润新知