摘 要

目前基于Jmeter的接口自動化測試框架,大多只實現(xiàn)腳本維護和自動調(diào)度,無法與Testlink進行互通,實現(xiàn)測試方案與自動化實施流程連接,本文基于Testlink、Jmeter、Jenkins實現(xiàn):通過Testlink統(tǒng)一維護接口自動化測試用例,Jmeter編寫和運行測試腳本,Jenkins實現(xiàn)統(tǒng)一調(diào)度,并返回執(zhí)行結(jié)果和測試報告到Testlink。從而實現(xiàn)整個接口自動化測試框架,提高測試效率,降低后續(xù)維護成本。

關(guān)鍵詞: 自動化測試 Jmeter 接口 Testlink Jenkins

 

1、引言

為了實現(xiàn)項目快速開發(fā)-測試-交付,測試需要在項目開發(fā)過程介入,進行接口級別測試,并輸出自動化測試腳本,便于后續(xù)集成測試使用自動化測試保證每次BUG修復(fù),沒有引發(fā)新的問題,故需要研究一種自動化測試框架,滿足目前項目測試的需求

2、目標

需求梳理如下:

1、 TestLink統(tǒng)一管理測試用例:因功能測試用例一直在Testlink上維護。

2、 前期已經(jīng)使用Jmeter進行接口測試,但是沒有統(tǒng)一的框架將方案、腳本、實施統(tǒng)一起來,故測試工具必須使用Jmeter。

3、 測試腳本統(tǒng)一維護,如:SVN

4、 腳本運行時,需要結(jié)合Testlink測試計劃分配用例,將自動化運行結(jié)果返回到Testlink。

5、 測試結(jié)束后,生成測試報告,統(tǒng)計自動化測試總體情況,并郵件發(fā)送給項目相關(guān)人員。

3、整體框架

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

以上是整體框架的思路介紹:

  • TestLink負責(zé)接口自動化用例維護

  • Jmeter則負責(zé)腳本編寫和運行,統(tǒng)一通過SVN進行維護

  • 另外郵件收發(fā)服務(wù)器則根據(jù)內(nèi)部情況靈活選擇

  • 整個過程統(tǒng)一由Jenkins 進行調(diào)度管理;

4、技術(shù)關(guān)鍵

1、Testlink僅支持三種格式的結(jié)果返回:Junit、TestNG、TAP ,Jmeter生成報告無法直接通過Jenkins傳遞給Testlink,并正確識別。

2、TAP格式文件與Testlink中對應(yīng)用例關(guān)聯(lián)是通過.tap文件關(guān)聯(lián)的,即:一個用例就需要一個TAP文件,但是測試結(jié)束后需要輸出整體測試結(jié)果,必須要求Jmeter測試結(jié)束后,輸出一個測試結(jié)果文檔,如何將測試結(jié)果轉(zhuǎn)化為TAP文件,且實現(xiàn)與用例一一對應(yīng)。

5、實現(xiàn)思路

本章給出第4章提到鍵技術(shù)點的解決,在說明前,需要以下前提準備:

1、 規(guī)范化Jmeter腳本中的規(guī)范要求:

1) HTTP Sample命名規(guī)范為:平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

2) 如果1條用例對應(yīng)有多個HTTP Sample,用例編號與用例名稱部分必須一致

3) 每一個HTTP Sample最好都要有斷言,判斷是否執(zhí)行成功,若沒有斷言,無法判斷是否符合預(yù)期,則轉(zhuǎn)換腳本默認為成功。

2、 TestLink上增加自定義字段,用于標記用例與腳本的對應(yīng)關(guān)系,如:AutoTest,AutoTest字段內(nèi)容則為:上述中的用例編號,用以將Testlink測試用例與腳本測試結(jié)果關(guān)聯(lián)對應(yīng)

3、 TestLink上自動化的用例執(zhí)行方式設(shè)置為:自動的

5.1、關(guān)鍵點實現(xiàn)思路

以下則是XML2TAP.sh的設(shè)計思路,根據(jù)以下思路輸出sh腳本

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

5.2、具體實施過程

具體的實施過程,如下述圖所示:

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

1. Jenkins每次執(zhí)行時,首先從SVN指定目錄,下載所有測試腳本。

2. 通過API key與Testlink建立關(guān)聯(lián),并獲取工程配置的測試項目對應(yīng)測試計劃下的自動化測試用例信息。

3. 調(diào)用Ant Plugin插件,通過build.xml配置,執(zhí)行所有的Jmeter腳本文件,并生成XML格式測試報告:1份。

4. 對XML測試報告進行二次處理,調(diào)用XML2HTML.xsl樣式表,生成HTML格式測試報告,用于郵件發(fā)送完整的測試報告和jenkins上發(fā)布測試結(jié)果。

5. 對XML測試報告進行轉(zhuǎn)換,調(diào)用XML2TAP.sh腳本,對XML中每一個Sample結(jié)果進行處理,生成Testlink可識別的TAP文件,以用例為單位,生成多個tap文件。

6. 將tap文件與第二步中獲取的自動化用例信息對應(yīng),返回測試結(jié)果及測試報告到Testlink。

7. 將第四步生成的測試報告郵件發(fā)送給相關(guān)人員。

參考文獻