背景:由于这里只是想单独展现失败的重跑的案例,因此先暂时把app这块的运行注释掉,只跑一个简单的demo,就一个简单类,类中就3个测试方法,失败重跑的原理是,运行方法是成功状态,就不重跑,若是是失败的,就在继续执行方法,直到他设置的最大重跑次数时就中止失败重跑很关键的是,要先添加这个一个类,实现IRetryAnalyzer 这个方法,如下就是一个retry 类。java
这个类RetryListener.Java主要是实现IAnnotationTransformer 方法网络
配置监听
app
在xml文件中配置监听器, 监听的是RetryListener这个类。测试
目前的目录结构是这样,可是关键是retry.java,RetryListener.java,rosewholepc.java:.net
实 现
orm
在rosewholepc中写入的方法为:xml
查看执行效果blog
觉得这样就完了,其实没有,这个时候执行你会发现他会记录你3次结果数据,可是其实咱们只想记录最后1次的数据,由于作UI你会发现,由于网络缘由会致使第一次失败,第二次就正常了,因此咱们增长重跑就能够减小脚本的误报的状况,咱们只要采起最后一次结果就行了。继承
finish监听加代码
接口
在TestngListener这个类里面的finnish监听里面加上这段代码就能够了。
Xml文件加上这两段
执行效果
参考文章
参考文章:http://blog.csdn.net/qq744746842/article/details/51428938。
这篇文章中提到是去实现ITestListener接口, IestListenerAdapter 已经实现 ITestListener,而且提供了一些有用的方法,好比分别获取全部成功失败跳过三种测试结果的测试方法的方法,而且 ITestListner 中有不少方法而 TestListenerAdapter 已给出了默认实现。所以,继承 TestListenerAdapter 后,便只需关注须要修改的方法。恰好咱们用到的也是TestListenerAdapter,因此在onFinish中直接完成就能够了。
我添加了2个案例:
执行效果以下: