使用Jmeter錄制腳本並調試


了解需求:
1、性能測試過程中,我們經常需要對流程化的業務進行性能測試,其中涉及到很多接口,這時候問開發拿接口和參數就會降低工作效率,直接用jmeter的錄制功能就能提高工作效率
2、開發接口案例中,我們也經常會碰到一些上傳、下載、導入等等一些接口功能,這些腳本如果直接問開發拿接口和參數也不方便,直接錄制效率也會更高
3、百度網盤共享了一份錄制模版,常用的測試元件都已經添加,排除模式也添加了常見的不需要的請求,錄制模板下載方式見文章末尾介紹

  • 一、配置瀏覽器代理
    1. 打開IE瀏覽器,然后點擊工具》Internet選項》
      使用Jmeter錄制腳本並調試
    2. 點擊連接頁簽,在點擊局域網設置按鈕
      使用Jmeter錄制腳本並調試
    3. 在代理服務器一欄勾選為LAN使用代理服務器,輸入地址:localhost ,端口你要設置的代理端口,本文設置為8888,然后點擊確定按鈕
      使用Jmeter錄制腳本並調試
  • 二、開始錄制腳本
    1. 首先我們配置下界面語言,默認為英文,修改下jmeter的bin目錄下的jmeter.properties文件37行#language=en 改成language=zh_CN,則每次打開jmeter都顯示為中文界面,如下
      使用Jmeter錄制腳本並調試
      使用Jmeter錄制腳本並調試
      錄制過程中,可能錄制的請求參數會顯示亂碼,也需要在jmeter.properties文件添加sampleresult.default.encoding=UTF-8 ,如下圖所示
      使用Jmeter錄制腳本並調試
    2. 雙擊運行bin目錄下的jmeter.bat文件打開jmeter,首先需要在測試計划右鍵點擊測試計划》添加》非測試元件》HTTP代理服務器
      使用Jmeter錄制腳本並調試
    3. 端口中輸入ie中配置的端口,分組選擇put each group in a new transaction controller(在每個新組創建一個新的事務控制器,便於區分錄制的請求功能)
      使用Jmeter錄制腳本並調試
    4. 右鍵點擊測試計划》添加》Threads》線程組,添加線程組
      使用Jmeter錄制腳本並調試
    5. 右鍵點擊線程組》添加》邏輯控制器》錄制控制器,添加錄制控制器
      使用Jmeter錄制腳本並調試
    6. 然后點擊HTTP代理服務器,點擊啟動按鈕,開啟錄制功能,此時你打開瀏覽器,登陸你要測試的系統,進行的操作都會被錄制下
      使用Jmeter錄制腳本並調試
    7. 腳本錄制如下,刪除掉不要的腳本,然后進行調試
      使用Jmeter錄制腳本並調試
    8. 錄制過程中,可能出現界面提示"您的連接不是私密連接",實際是需要更新jmeter的crt證書
      使用Jmeter錄制腳本並調試
    9. 打開IE瀏覽器,點擊工具》Internet選項》內容》證書》受信任的根證書頒發機構》導入》下一步
      使用Jmeter錄制腳本並調試
    10. 點擊瀏覽按鈕,選擇bin目錄下的crt證書,然點擊下一步,一直點擊下一步,直到點擊完成
      使用Jmeter錄制腳本並調試
      使用Jmeter錄制腳本並調試
      使用Jmeter錄制腳本並調試
      使用Jmeter錄制腳本並調試
      使用Jmeter錄制腳本並調試
    11. 此時,重新打開報錯的百度頁面,正常顯示,錄制成功
      使用Jmeter錄制腳本並調試
  • 三、配置錄制腳本排除和包含模式

    實際錄制腳本過程中,可能會錄制到很多不需要的網站請求,或者一些不需要的js、css之類的請求,這時我們就可以通過排除和包含模式進行過濾請求,這樣錄制的腳本就會更加簡潔,提高開發案例效率

設置排除模式的正則表達式:
1、排除.js結尾類型的請求

.*\.js

使用Jmeter錄制腳本並調試
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結尾的請求,如下圖
使用Jmeter錄制腳本並調試
正則表達式需要另起一行,如下所示,表示接口地址以mongodb結尾的都排除

.*mongodb

使用Jmeter錄制腳本並調試
設置包含模式的正則表達式:
1、只錄制www.baidu.com域名的請求

.*www\.baidu\.com.*

使用Jmeter錄制腳本並調試
2、如果需要錄制多個域名的請求,只要用正則|連接即可,如下所示

.*www\.baidu\.com.*|.*www\.google\.com.*

3、這樣錄制的請求就只有谷歌和百度的請求,其它網站的請求都會被過濾掉
使用Jmeter錄制腳本並調試
使用Jmeter錄制腳本並調試

    • 四、調試腳本
      1. 添加debug sample用來調試,右鍵點擊線程組》添加>Sample》Debug Sample
        使用Jmeter錄制腳本並調試
      2. 添加查看結構樹,右鍵點擊線程組》監聽器》察看結果樹
        使用Jmeter錄制腳本並調試
      3. 點擊啟動按鈕,就可以在察看結果樹中看到調取的變量是否成功
        使用Jmeter錄制腳本並調試
        • 五、本章介紹如何錄制ios端的app請求
          1.目前app端接觸過的接口都是走https,所以需要安裝證書,也就是jmeter的bin目錄的ApacheJMeterTemporaryRootCA.crt,可以把該證書發送到手機,然后安裝
          使用Jmeter錄制腳本並調試
          2.如下所示,本人親測發送到QQ手機端,然后使用QQ瀏覽器打開,就可以安裝成功
          使用Jmeter錄制腳本並調試
          3.安裝完成之后,需要在設置》通用》關於本機》證書信任設置,把_DO NOT INSTALL unless this is your certificate開啟
          使用Jmeter錄制腳本並調試
          4.進入設置》通用》描述文件與設備管理,查看_DO NOT INSTALL unless this is your certificate是否顯示已驗證,如果已驗證,就可以進行錄制請求了
          使用Jmeter錄制腳本並調試
          5.在手機已經連接wifi(連接的wifi網絡需要和電腦的網絡一致)的情況下設置wifi代理,點擊手動輸入電腦ip,端口和jmeter的HTTP代理端口保持一致,如下所示
          使用Jmeter錄制腳本並調試
          使用Jmeter錄制腳本並調試
          6.啟動錄制按鈕,對app端進行操作,就可以成功錄制請求
          使用Jmeter錄制腳本並調試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM