背景:由於這裏只是想單獨展現失敗的重跑的案例,因此先暫時把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個案例:
執行效果以下: