zoukankan      html  css  js  c++  java
  • 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 -->

    测试函数

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

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

  • 相关阅读:
    z-index优先级小结
    如何消除img间的默认间隙
    text-align和vertical-align
    HTTP
    HTTP
    HTTP
    HTTP
    ES6标准入门
    ES6标准入门
    ES6标准入门
  • 原文地址:https://www.cnblogs.com/leiziv5/p/10222946.html
Copyright © 2011-2022 走看看