了解需求:
1、性能測試過程中,我們經常需要對流程化的業務進行性能測試,其中涉及到很多接口,這時候問開發拿接口和參數就會降低工作效率,直接用jmeter的錄制功能就能提高工作效率
2、開發接口案例中,我們也經常會碰到一些上傳、下載、導入等等一些接口功能,這些腳本如果直接問開發拿接口和參數也不方便,直接錄制效率也會更高
3、百度網盤共享了一份錄制模版,常用的測試元件都已經添加,排除模式也添加了常見的不需要的請求,錄制模板下載方式見文章末尾介紹
- 一、配置瀏覽器代理
- 打開IE瀏覽器,然后點擊工具》Internet選項》
- 點擊連接頁簽,在點擊局域網設置按鈕
- 在代理服務器一欄勾選為LAN使用代理服務器,輸入地址:localhost ,端口你要設置的代理端口,本文設置為8888,然后點擊確定按鈕
- 打開IE瀏覽器,然后點擊工具》Internet選項》
- 二、開始錄制腳本
- 首先我們配置下界面語言,默認為英文,修改下jmeter的bin目錄下的jmeter.properties文件37行#language=en 改成language=zh_CN,則每次打開jmeter都顯示為中文界面,如下
錄制過程中,可能錄制的請求參數會顯示亂碼,也需要在jmeter.properties文件添加sampleresult.default.encoding=UTF-8 ,如下圖所示 - 雙擊運行bin目錄下的jmeter.bat文件打開jmeter,首先需要在測試計划右鍵點擊測試計划》添加》非測試元件》HTTP代理服務器
- 端口中輸入ie中配置的端口,分組選擇put each group in a new transaction controller(在每個新組創建一個新的事務控制器,便於區分錄制的請求功能)
- 右鍵點擊測試計划》添加》Threads》線程組,添加線程組
- 右鍵點擊線程組》添加》邏輯控制器》錄制控制器,添加錄制控制器
- 然后點擊HTTP代理服務器,點擊啟動按鈕,開啟錄制功能,此時你打開瀏覽器,登陸你要測試的系統,進行的操作都會被錄制下
- 腳本錄制如下,刪除掉不要的腳本,然后進行調試
- 錄制過程中,可能出現界面提示"您的連接不是私密連接",實際是需要更新jmeter的crt證書
- 打開IE瀏覽器,點擊工具》Internet選項》內容》證書》受信任的根證書頒發機構》導入》下一步
- 點擊瀏覽按鈕,選擇bin目錄下的crt證書,然點擊下一步,一直點擊下一步,直到點擊完成
- 此時,重新打開報錯的百度頁面,正常顯示,錄制成功
- 首先我們配置下界面語言,默認為英文,修改下jmeter的bin目錄下的jmeter.properties文件37行#language=en 改成language=zh_CN,則每次打開jmeter都顯示為中文界面,如下
- 三、配置錄制腳本排除和包含模式
實際錄制腳本過程中,可能會錄制到很多不需要的網站請求,或者一些不需要的js、css之類的請求,這時我們就可以通過排除和包含模式進行過濾請求,這樣錄制的腳本就會更加簡潔,提高開發案例效率
設置排除模式的正則表達式:
1、排除.js結尾類型的請求
.*\.js
2、如果需要排除更多類型,使用正則語法,添加即可,如下所示,
(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2|do|query) (?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|eot|otf|ttf|mp4|woff|woff2|do|query)[\?;].*
3、有時候錄制的腳本需要排除比如mongodb結尾的請求,如下圖
正則表達式需要另起一行,如下所示,表示接口地址以mongodb結尾的都排除
.*mongodb
設置包含模式的正則表達式:
1、只錄制www.baidu.com域名的請求
.*www\.baidu\.com.*
2、如果需要錄制多個域名的請求,只要用正則|連接即可,如下所示
.*www\.baidu\.com.*|.*www\.google\.com.*
3、這樣錄制的請求就只有谷歌和百度的請求,其它網站的請求都會被過濾掉
- 四、調試腳本
- 添加debug sample用來調試,右鍵點擊線程組》添加>Sample》Debug Sample
- 添加查看結構樹,右鍵點擊線程組》監聽器》察看結果樹
- 點擊啟動按鈕,就可以在察看結果樹中看到調取的變量是否成功
- 五、本章介紹如何錄制ios端的app請求
1.目前app端接觸過的接口都是走https,所以需要安裝證書,也就是jmeter的bin目錄的ApacheJMeterTemporaryRootCA.crt,可以把該證書發送到手機,然后安裝
2.如下所示,本人親測發送到QQ手機端,然后使用QQ瀏覽器打開,就可以安裝成功
3.安裝完成之后,需要在設置》通用》關於本機》證書信任設置,把_DO NOT INSTALL unless this is your certificate開啟
4.進入設置》通用》描述文件與設備管理,查看_DO NOT INSTALL unless this is your certificate是否顯示已驗證,如果已驗證,就可以進行錄制請求了
5.在手機已經連接wifi(連接的wifi網絡需要和電腦的網絡一致)的情況下設置wifi代理,點擊手動輸入電腦ip,端口和jmeter的HTTP代理端口保持一致,如下所示
6.啟動錄制按鈕,對app端進行操作,就可以成功錄制請求
- 五、本章介紹如何錄制ios端的app請求
- 添加debug sample用來調試,右鍵點擊線程組》添加>Sample》Debug Sample