国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

TestNG通過自定義Listener形式實(shí)現(xiàn)用例失敗重試

開發(fā) 前端
當(dāng)測試類非常多的時(shí)候,需要在每一個(gè)類前都增加標(biāo)簽@Test(retryAnalyzer = MyRetry.class)。有沒有什么全局的方式來搞定這件事兒呢?我們可以通過自定義listener來解決!

標(biāo)簽形式實(shí)現(xiàn)用例失敗重試

前面的文章講解了可以通過標(biāo)簽的形式實(shí)現(xiàn)用例失敗重試的方法,@Test(retryAnalyzer = MyRetry.class)。

詳情可以參考文章:詳解TestNG中的用例失敗重試和自定義監(jiān)聽器

但是通過@Test標(biāo)簽方式仍然存在一定的問題,即該方法只能左右在類或者方法上,當(dāng)測試類非常多的時(shí)候,需要在每一個(gè)類前都增加標(biāo)簽@Test(retryAnalyzer = MyRetry.class)。

有沒有什么全局的方式來搞定這件事兒呢?我們可以通過自定義listener來解決!

自定義Listener形式實(shí)現(xiàn)用例失敗重試

我們已經(jīng)通過標(biāo)簽實(shí)現(xiàn)了用例失敗的重試機(jī)制,那么我們就可以寫一個(gè)listenser來控制標(biāo)簽。TestNG中提供了IAnnotationTransformer來讓我們實(shí)現(xiàn)這一目的。話不多說,直接上代碼

重試代碼邏輯的代碼實(shí)現(xiàn)如下:

  1. import org.testng.IRetryAnalyzer; 
  2. import org.testng.ITestResult; 
  3. public class MyRetry implements IRetryAnalyzer{ 
  4. private int retryCount = 0; 
  5. private static final int maxRetryCount = 3;//用例失敗重新執(zhí)行3次 
  6. @Override 
  7. public boolean retry(ITestResult result) { 
  8. if (retryCount < maxRetryCount) { 
  9. retryCount++; 
  10. return true
  11.     } 
  12. return false

 自定義Retry 的listener代碼實(shí)現(xiàn)如下:

  1. import java.lang.reflect.Constructor; 
  2. import java.lang.reflect.Method; 
  3. import org.testng.IAnnotationTransformer; 
  4. import org.testng.annotations.ITestAnnotation; 
  5. public class RetryListener implements IAnnotationTransformer { 
  6.     @Override 
  7.     public void transform(ITestAnnotation testannotation, Class testClass, 
  8.         Constructor testConstructor, Method testMethod)    { 
  9.         testannotation.setRetryAnalyzer(MyRetry.class); 
  10.     } 

 測試類代碼如下:

  1. import org.testng.annotations.Test; 
  2. import static org.testng.Assert.assertEquals; 
  3. public class Case1 { 
  4. @Test 
  5. public void f1() { 
  6.     System.out.println("f11"); 
  7.     assertEquals("a","b"); 
  8.   } 
  9.   @Test 
  10.   public void f2() { 
  11.   System.out.println("f21"); 
  12.   assertEquals("a","a"); 

 設(shè)置testng的配置文件,添加自定義的RetryListener

運(yùn)行結(jié)果如下,可以看到重試了3次。

備注:如果在一個(gè)case中,方法中有標(biāo)簽重試機(jī)制代碼如下(設(shè)置重試為1),那該如何處理呢?

  1. @Test(retryAnalyzer = MyRetry2.class) 
  2. public void f1() { 
  3.     System.out.println("f11"); 
  4.     assertEquals("a","b"); 
  5.   } 

 我們運(yùn)行代碼會發(fā)現(xiàn)以testng的配置文件中的添加自定義RetryListener中使用的MyRetry.class為主。

 

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2023-10-11 07:57:23

springboot微服務(wù)

2022-05-18 07:44:13

自定義菜單前端

2009-09-07 22:00:15

LINQ自定義

2021-07-11 17:17:08

.NET 授權(quán)自定義

2024-02-28 09:35:52

2015-02-12 15:33:43

微信SDK

2009-07-06 16:20:50

JSP自定義標(biāo)簽

2015-07-29 10:31:16

Java緩存算法

2013-01-09 17:22:38

Android開發(fā)Camera

2022-03-01 16:09:06

OpenHarmon鴻蒙單選組件

2009-06-17 16:00:03

Hibernate自定

2022-04-01 15:59:22

SQLPostgreSQL審計(jì)

2022-12-07 08:56:27

SpringMVC核心組件

2023-01-03 07:40:27

自定義滑塊組件

2009-09-03 13:34:03

.NET自定義控件

2023-10-24 13:48:50

自定義注解舉值驗(yàn)證

2011-03-21 09:16:52

2009-08-04 09:09:51

C#反射

2015-02-12 15:38:26

微信SDK

2022-02-25 14:33:03

JS接口鴻蒙應(yīng)用開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

男人av在线| 亚洲香蕉网站| 亚洲52av| 国产成人综合亚洲网站| 91九色蝌蚪国产| 日韩精品第一| 精品久久久久香蕉网| 国产精品日韩高清| 国产一级免费在线观看| 一二三区不卡| 国外色69视频在线观看| 在线观看涩涩| 精品美女被调教视频大全网站| 视频福利在线| 无吗不卡中文字幕| 99久热re在线精品视频| 亚洲成人影院少妇| 国产欧美日韩在线看| 日本男女交配视频| vam成人资源在线观看| 亚洲福利视频网| 麻豆tv免费在线观看| 色婷婷久久综合| 成人午夜影视| 欧洲亚洲国产日韩| 黄色在线免费| 丰满少妇久久久久久久| 久久最新免费视频| 国产一区二区不卡| 欧美黄色片免费观看| 成人动漫视频在线观看| 色偷偷偷亚洲综合网另类| 国产91亚洲精品久久久| 久久久精品美女| www一区二区三区| 欧美激情视频在线免费观看 欧美视频免费一 | 里番在线播放| youjizz国产精品| 国产成一区二区| 国产一区网站| 91麻豆蜜桃| 日本va欧美va精品发布| 久久久国内精品| 欧美国产丝袜视频| 欧美黑人性生活视频| 9999精品免费视频| 日av在线播放中文不卡| 伊人久久大香线蕉av超碰演员| 亚洲狼人综合干| 久久久久久九九九九| 在线成人视屏| 一区二区三区网址| 欧美极品一区二区| 一区二区三区在线电影| 国产特级淫片高清视频| 成人a在线观看高清电影| 午夜精品免费视频| 久久国产婷婷国产香蕉| 青青草观看免费视频在线 | 麻豆精品视频在线观看| 高清hd写真福利在线播放| 久久久精品国产网站| 成人激情黄色小说| 综合久久国产| 91精品国产91久久久久久最新毛片| 九九视频免费观看视频精品 | 91亚洲国产高清| 日本激情免费| 日韩免费看网站| 国产日韩一区欧美| 成人日韩精品| 欧美极品另类videosde| jizz久久久久久| 日本免费一区二区三区| 黄色av网站在线看| 色七七影院综合| 日韩国产高清影视| 校园春色综合| 全亚洲最色的网站在线观看| 日韩丝袜美女视频| 狠狠色狠狠色综合系列| 久久综合福利| 亚洲黄一区二区三区| 欧美成人激情| 亚洲一区二区三区精品中文字幕| 亚洲免费av网| 欧美洲成人男女午夜视频| 久久久久国产精品麻豆| 国产h在线观看| 成人有码视频在线播放| 久久久久久电影| 欧美人与拘性视交免费看| 欧美日韩一区二区三区在线视频| 国产丶欧美丶日本不卡视频| 欧美日韩中文一区二区| 在线观看免费网站| 国产麻豆日韩| 国模视频一区二区三区| 欧美久久综合| 久久综合欧美| 免费网站成人| 小说区视频区图片区| 操91在线视频| 日韩一区二区三区免费观看| 午夜宅男久久久| 亚洲男人网站| 日本在线视频一区| 中文字幕亚洲综合久久筱田步美| 亚洲福利视频一区| 中文字幕日韩一区二区三区| 欧美中文字幕一区| wwwwxxxxx欧美| 韩国成人在线| 国产午夜精品久久久久免费视| 黄色动漫在线免费看| 300部国产真实乱| 久久成人久久鬼色| 一区二区精彩视频| a毛片在线观看| 欧美成人午夜激情在线| 欧美日韩免费在线视频| 五月婷婷激情综合| 精品久久久中文| 91在线观看下载| 色综合久久网| 国产精品15p| 2021狠狠干| 精品国产91亚洲一区二区三区www 精品国产_亚洲人成在线 | 久久综合一区二区三区| 久久久国产精品视频| 欧美性猛交视频| 一本在线高清不卡dvd| 中文字幕字幕中文在线中不卡视频| 免费福利视频一区| 99久久影视| 天堂蜜桃91精品| 国产一区二区三区播放| 黄色免费福利视频| 中文字幕在线乱| 久久久久久久有限公司| 日韩中文字幕在线播放| 亚洲精品短视频| 妖精视频一区二区三区免费观看| 久久视频在线视频| 成人欧美一区二区三区| 亚洲综合一二区| 一区二区三区四区五区在线| 色婷婷狠狠五月综合天色拍| 国产在线精彩视频| 中文字幕中文字幕99| 麻豆av免费在线| 精品久久精品久久| 人妻av中文系列| 粉嫩tv在线播放| 国产精品成人一区二区三区 | 日韩一区在线免费观看| 国产成人澳门| 99精品小视频| 狠狠躁18三区二区一区| 91国产精品视频在线| av免费看网址| 亚洲最大成人| www国产精品| 综合国产精品| 999国产精品永久免费视频app| 久草成人在线| 日本少妇一区二区| 欧美日韩国产色站一区二区三区| 亚洲国产精品va在线观看黑人| 理论片在线不卡免费观看| 日韩一区二区三区视频在线 | 韩国女主播一区二区三区| 国产永久免费高清在线观看| 国产成人精品视频免费看| 亚洲美免无码中文字幕在线| 97最新国自产拍视频在线完整在线看| 日本免费成人| 99久久国产综合精品色伊| 亚洲一区二区欧美日韩| 国产欧美日韩不卡| 五月综合激情婷婷六月色窝| 日韩精品一区二区三区中文不卡 | 日本一区二区三区四区高清视频| 欧美 国产 综合| 欧洲天堂在线观看| 免费网站免费进入在线| 国产影视精品一区二区三区| 国产精品国产三级国产| 老司机午夜激情| 久久久免费人体| 狠狠干夜夜操| 91久久久亚洲精品| 久久久精品日韩欧美| 日韩精品久久| 中文字幕在线直播| 国产美女视频黄a视频免费| 免费一区二区三区| 日韩视频免费中文字幕| 色狠狠色狠狠综合| 国产亚洲va综合人人澡精品|