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