TestNG是一個(gè)設(shè)計(jì)用來(lái)簡(jiǎn)化廣泛測(cè)試需求的 測(cè)試框架,旨在涵蓋所有類型的測(cè)試,包括單元測(cè)試、功能測(cè)試、端到端集成測(cè)試等,而我們?cè)诨赥estNG搭建自動(dòng)化測(cè)試框架,編寫(xiě)測(cè)試用例時(shí),為保證測(cè) 試用例的穩(wěn)定性,需要增加測(cè)試用例失敗自動(dòng)重跑功能,這便促成了Arrow的誕生。 Arrow是基于TestNG監(jiān)聽(tīng)器擴(kuò)展的插件,如果把TestNG比作一把強(qiáng)勁的弓,那么插件是配合弓使用的箭,這也是Arrow命名的由來(lái)。
當(dāng)前Arrow插件已開(kāi)源,可通過(guò)以下地址訪問(wèn):https://github.com/NetEase/arrow
一、Arrow功能介紹
1、 支持通過(guò)簡(jiǎn)單配置實(shí)現(xiàn)失敗的測(cè)試用例自動(dòng)重跑
2、 支持Html結(jié)果報(bào)告中展示測(cè)試用例運(yùn)行次數(shù)
3、 支持自動(dòng)解析源代碼中的@author標(biāo)簽,在Html結(jié)果報(bào)告中展示(失敗用例可以方便查找維護(hù)者)
4、 修復(fù)TestNG原生Html報(bào)告中錨點(diǎn)跳轉(zhuǎn)不正確的Bug
俗話說(shuō),眼見(jiàn)為實(shí)耳聽(tīng)為虛,下面帶大家看看實(shí)際效果圖吧!
二、Arrow使用效果
使用Arrow插件運(yùn)行基于TestNG的測(cè)試用例后會(huì)生成我們自定義的報(bào)告power-emailable-report.html,下圖1顯示 在測(cè)試用例中書(shū)寫(xiě)@author標(biāo)簽,使用arrow執(zhí)行完用例后生成如圖2的結(jié)果報(bào)告,報(bào)告中會(huì)自動(dòng)讀取authors信息以及running counts運(yùn)行次數(shù),通過(guò)authors信息方便自動(dòng)獲取到該用例的維護(hù)者,通過(guò)running counts方便知道當(dāng)前用例是否失敗重跑。
三、如何使用Arrow
使用Arrow無(wú)需修改原有的測(cè)試代碼
1、 首先你需要有一套TestNG編寫(xiě)的測(cè)試用例
2、 測(cè)試工程中需要testng.jar(核心不能忘!),log4j.jar(用于日志的輸出)以及我們提供的arrow.jar
3、 測(cè)試工程根目錄下新建config.properties文件,同時(shí)配置如下參數(shù)
retrycount=1 #定義重跑次數(shù),不是必填項(xiàng), 默認(rèn)值是0,即失敗不重跑
sourcecodedir=src #定義源代碼路徑,不是必填項(xiàng), 默認(rèn)值是src
sourcecodeencoding=UTF-8 #定義源代碼編碼,不是必填項(xiàng),默認(rèn)值是utf-8