Jenkins+Jmeter性能測試自動化
實作基于linux平台下的性能測試自動化,采用了jenkins+gitlab+jmeter+shell的方式,為什麼采用shell是因為這種方式更加靈活,還有一種ant的方式,較為複雜,可以定制化輸出的測試報告模闆。
踩過的幾個坑
基于Linux在jenkins中實作性能測試自動化
1、需要在linux下安裝jenkins作為持續內建工具平台;
2、将jmeter和jenkins安裝在同一台伺服器,跨伺服器的沒有嘗試過;
3、為了實作測試代碼可管理并觸發測試自動執行,采用gitlab作為代碼倉庫;
4、建立gitlab的webhook提供給jenkins的job的trigger調用;
5、編寫jmeter腳本,在用戶端定義并實作自定義參數的參數化建構;
6、Jmeter的參數化檔案的跨平台問題在前一篇文章已經解決;

SCM:git+gitlab
1、建立并初始化本地git倉庫,與遠端gitlab倉庫進行關聯;
2、添加jmeter檔案到本地倉,推送本地jmeter腳本到遠端倉庫;
3、在gitlab建立的webhook觸發jenkins任務并建構jmeter腳本執行測試;
4、完成性能和接口測試,在jenkins控制台輸出html測試報告;
CI: gitlab+jenkins環境配置
1、建立gitlab遠端倉庫;
2、jenkins建立使用者通路gitlab的憑據,用于建構jenkins任務時通路gitlab倉庫内的jmeter腳本;
3、jenkins建立job配置屬性中建構觸發器設定:Build when a change is pushed to GitLab. GitLab webhook;
4、jenkins的job中生成secretToken;
5、gitlab 存儲代碼的倉庫中,選擇jmeter倉庫在設定中選擇“內建”,配置jenkins建構job的位址url和secretToken;
6、測試gitlab和jenkins的push event成功,webhook可用;
Jmeter: jenkins+jmeter環境配置
1、在linux的jenkins伺服器上安裝jmeter,配置jenkins環境變量;
2、jenkins安裝publish html report插件;
3、jenkins job 添加 jmeter腳本執行場景所需要的自定義變量;
4、添加execute shell腳本調用jmeter腳本和校驗腳本執行結果;
5、如果使用分布式架構進行測試,主要Jmeter與Jenkins安裝在同一台伺服器即可;
Linux Shell: Shell編寫事項
1、在jenkins的workspace下建立jmeter性能測試的日志工作目錄;
2、反複執行jmeter job需要清理曆史資料,例如jtl,html測試報告;
3、如果有參數化資料檔案,需要将資料檔案移動到jmeter的bin目錄下;
4、參數化jmeter測試場景時使用的線程、循環次數、執行時長需要在jmeter用戶端提前定義才能引用;
5、為了保證測試的完整性,腳本執行完成後需要判斷腳本是否存在錯誤,執行是否成功;
需要說明的幾點
基于Linux平台的Jmeter性能測試自動化
1、需要熟練掌握git和gitlab;
2、如果要使用shell,需要掌握shell程式設計,如果ant用的很好,也可以用ant不需要寫代碼;
3、掌握jmeter的基本使用即可,需要在本地調試腳本可用後,再做推送動作;
4、完成前面提到的一些步驟既可以實作本地git倉推送到遠端gitlab後,自動觸發jenkins完成自動化性能測試;
5、測試結束後,可配置郵箱服務,發送測試郵件到相關人員郵箱;