testNG实现test失败后重复执行,
test失败自动执行大大提高测试结果的准确性,
1、修改testNG源码实现test失败自动执行,
首先获取testng的源码,
获取源代码,构建过程: $ git clone git://github.com/cbeust/testng.git
然后修改src/main/java/org.testng/SuiteRunner.java文件,
private void runTest(TestRunner tr) {
      int reRunTimes = 2;//失败执行的次数
      tr.run();
      while ((reRunTimes !=0) && (tr.getFailedTests().size() !=0)){//判断test是否成功和运行次数
        suiteResults.put(tr.getName(),sr);
        suiteResults.remove(tr.getName());
        tr.run();
        reRunTimes--;
      }
      ISuiteResult sr = new SuiteResult(xmlSuite,tr);
      suiteResults.put(tr.getName(),sr);
  }
最后将修改后的源码进行打包;
$ cd testng $ ./build-with-gradle
打包完成后,可以在build/libs中找打testNG的jar;
测试过程中使用修改后的jar,就可以实现test运行失败后重新运行,直到三次失败后不在运行,同时报告中出现test的三次运行结果。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号