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

    测试函数

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

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

  • 相关阅读:
    装饰器的进阶
    Django admin组件应用
    AJAX
    Cookie、Session和自定义分页
    Django中ORM介绍和字段及字段参数
    Django 框架
    Django之视图
    Django之路由系统
    Django ORM相关操作
    Django 模板语言
  • 原文地址:https://www.cnblogs.com/leiziv5/p/10222946.html
Copyright © 2011-2022 走看看