1、摘 要
目前基于Jmeter的接口自動(dòng)化測(cè)試框架,大多只實(shí)現(xiàn)腳本維護(hù)和自動(dòng)調(diào)度,無(wú)法與Testlink進(jìn)行互通,實(shí)現(xiàn)測(cè)試方案與自動(dòng)化實(shí)施流程連接,本文基于Testlink、Jmeter、Jenkins實(shí)現(xiàn):通過(guò)Testlink統(tǒng)一維護(hù)接口自動(dòng)化測(cè)試用例,Jmeter編寫(xiě)和運(yùn)行測(cè)試腳本,Jenkins實(shí)現(xiàn)統(tǒng)一調(diào)度,并返回執(zhí)行結(jié)果和測(cè)試報(bào)告到Testlink。從而實(shí)現(xiàn)整個(gè)接口自動(dòng)化測(cè)試框架,提高測(cè)試效率,降低后續(xù)維護(hù)成本。
為了實(shí)現(xiàn)項(xiàng)目快速開(kāi)發(fā)-測(cè)試-交付,測(cè)試需要在項(xiàng)目開(kāi)發(fā)過(guò)程介入,進(jìn)行接口級(jí)別測(cè)試,并輸出自動(dòng)化測(cè)試腳本,便于后續(xù)集成測(cè)試使用自動(dòng)化測(cè)試保證每次BUG修復(fù),沒(méi)有引發(fā)新的問(wèn)題,故需要研究一種自動(dòng)化測(cè)試框架,滿足目前項(xiàng)目測(cè)試的需求
2、需求梳理如下:
1、 TestLink統(tǒng)一管理測(cè)試用例:因功能測(cè)試用例一直在Testlink上維護(hù)。
2、 前期已經(jīng)使用Jmeter進(jìn)行接口測(cè)試,但是沒(méi)有統(tǒng)一的框架將方案、腳本、實(shí)施統(tǒng)一起來(lái),故測(cè)試工具必須使用Jmeter。
3、 測(cè)試腳本統(tǒng)一維護(hù),如:SVN
4、 腳本運(yùn)行時(shí),需要結(jié)合Testlink測(cè)試計(jì)劃分配用例,將自動(dòng)化運(yùn)行結(jié)果返回到Testlink。
5、 測(cè)試結(jié)束后,生成測(cè)試報(bào)告,統(tǒng)計(jì)自動(dòng)化測(cè)試總體情況,并郵件發(fā)送給項(xiàng)目相關(guān)人員。
3、整體框架
以上是整體框架的思路介紹:
· TestLink負(fù)責(zé)接口自動(dòng)化用例維護(hù)
· Jmeter則負(fù)責(zé)腳本編寫(xiě)和運(yùn)行,統(tǒng)一通過(guò)SVN進(jìn)行維護(hù)
· 另外郵件收發(fā)服務(wù)器則根據(jù)內(nèi)部情況靈活選擇
· 整個(gè)過(guò)程統(tǒng)一由Jenkins 進(jìn)行調(diào)度管理;
4、技術(shù)關(guān)鍵
1、Testlink僅支持三種格式的結(jié)果返回:Junit、TestNG、TAP ,Jmeter生成報(bào)告無(wú)法直接通過(guò)Jenkins傳遞給Testlink,并正確識(shí)別。
2、TAP格式文件與Testlink中對(duì)應(yīng)用例關(guān)聯(lián)是通過(guò).tap文件關(guān)聯(lián)的,即:一個(gè)用例需要一個(gè)TAP文件,但是測(cè)試結(jié)束后需要輸出整體測(cè)試結(jié)果,必須要求Jmeter測(cè)試結(jié)束后,輸出一個(gè)測(cè)試結(jié)果文檔,如果將測(cè)試結(jié)果轉(zhuǎn)化為T(mén)AP文件,且實(shí)現(xiàn)與用例一一對(duì)應(yīng)。
5、實(shí)現(xiàn)思路
本章給出第4章提到鍵技術(shù)點(diǎn)的解決,在說(shuō)明前,需要以下前提準(zhǔn)備:
1、 規(guī)范化Jmeter腳本中的規(guī)范要求:
1) HTTP Sample命名規(guī)范為:
2) 如果1條用例對(duì)應(yīng)有多個(gè)HTTP Sample,用例編號(hào)與用例名稱部分必須一致
3) 每一個(gè)HTTP Sample好都要有斷言,判斷是否執(zhí)行成功,若沒(méi)有斷言,無(wú)法判斷是否符合預(yù)期,則轉(zhuǎn)換腳本默認(rèn)為成功。
2、 TestLink上增加自定義字段,用于標(biāo)記用例與腳本的對(duì)應(yīng)關(guān)系,如:AutoTest,AutoTest字段內(nèi)容則為:上述中的用例編號(hào),用以將Testlink測(cè)試用例與腳本測(cè)試結(jié)果關(guān)聯(lián)對(duì)應(yīng)
3、 TestLink上自動(dòng)化的用例執(zhí)行方式設(shè)置為:自動(dòng)的