Jmeter 問題彙總 Q&A
1. 打開Jmeter:
打開Jmeter安裝目錄的bin文件夾(如D:\Jmeter\bin\),此目錄下包涵2個程序可以打開Jmeter:
- jmeter.bat:雙擊運行,系統通過命令行(cmd.exe)的方式打開Jmeter,需要注意的是運行Jmeter時,不能關閉自動打開的cmd.exe的命令行窗口,直到關閉Jmeter才能關閉。
- jmeterw.cmd:雙擊運行,系統自動打開Jmeter的GUI界面,與jmeter.bat不同的是運行jmeterw.cmd不需要保持cmd.exe窗口開啓的狀態,更方便!
2. Jmeter開始測試的第一步?
添加“Thread Group”,並將需要進行的操作添加至Thread Group下級。
3. Jmeter的變量名,變量名的引用?
變量名通過${}的格式進行引用。假設設置變量名爲:xxx,則引用變量名爲${xxx}。
4. Jmeter查看Http(s)請求返回的結果?
添加Listener(監聽器) --> View Result Tree(查看結果樹)
5. Jmeter添加正則表達式提取器?
添加“Post Processor” --> "Regular Expression Extractor"
6. Jmeter查看變量值、提取器的結果(如正則表達式器)
添加Debug Sampler --> 並添加View Result Tree(查看結果樹),即可在“查看結果樹”中查看變量值、提取器的結果。
7. Jmeter如何Http調試抓包,並錄製腳本記錄?
- 7.1 在Test Plan中添加Thread Group,用於存放抓包調試信息。
- 7.2 在Test Plan中添加 Non-Test Elements --> HTTP(S) Test Script Recorder,用於設置Http抓包代理服務器。
- 7.3 設置HTTP(S) Test Script Recorder:
存放Http(s)請求信息的位置:設置Target Controller 爲 “Test Plan > Thread Group”。
設置Http(s)請求信息自動分組:設置Grouping爲Put each group in a new controller。
勾選Capture HTTP Headers。
- 7.4 運行Http(s)代理服務器:
點擊HTTP(S) Test Script Recorder 中的 Start按鈕,代理器將會自動運行在本機的8888端口上。
- 7.5 通過瀏覽器進行Http(s)請求信息的抓包:
設置瀏覽器(如Firefox)的代理爲127.0.0.1,端口號爲8888,打開相應網址即可。
- 7.6 查看抓包信息:
在Jmeter的Thread Group中顯示監聽信息,即抓包信息,如協議、域名、路徑、方法等。
- 7.7 查看Http抓包詳情:
在HTTP(S) Test Script Recorder中,添加View Results Tree,即可查看抓包詳情,如Request Header, Response Data等。
8. 瀏覽器(Firefox)打開網址時顯示:有軟件正在阻止 Firefox 安全地連接至此網站,如何解決?
原因:
通過Jmeter代理訪問網絡時,需要安裝Jmeter的Root CA證書,即可解決以上“有軟件正在阻止Firefox安全地連接至此網站”的問題。
解決方法:
參考"9. 運行Http(s) Test Script Recorder時,Jmeter會彈出彈窗"Root CA certificate ApacheJMeterTemporaryRootCA created in JMeter bin directory"的問題,如何解決?"中的證書安裝方法,即可解決。
9. 運行Http(s) Test Script Recorder時,Jmeter會彈出彈窗"Root CA certificate ApacheJMeterTemporaryRootCA created in JMeter bin directory"的問題,如何解決?
安裝證書步驟如下:
- 打開Jmeter,運行Http(s) Test Script Recorder時,Jmeter會彈出一個彈窗,提示用記安裝證書,如下:
- 如何安裝Jmeter Root CA證書?
- 打開瀏覽器(Firefox)的設置,搜索“證書”,查看證書,點擊“證書頒發機構”;
- 點擊“導入”,打開Jmeter安裝目錄的bin文件夾(如“D:\Jmeter\bin”),選擇證書“ApacheJMeterTemporaryRootCA.crt”,打開並導入。
- 勾選“信任由此證書頒發機構來標識網站”,勾選“信任由此證書頒發機構來標識電子郵件用戶”,確定。
- 導入證書後,在證書列表會出現新的證書選項“_ JMeter Root CA for recording (INSTALL ONLY IF IT S YOURS)”,表示導入成功。
- 再次打開連接,已經不會出現“有軟件正在阻止Firefox安全地連接至此網站”的問題,解決。
10. 手機通過Jmeter的代理服務器,進行手機端的Http(s)抓包:
- 10.1 複製Jmeter證書至手機:
從電腦上將Jmeter安裝目錄bin文件夾下的Root CA證書(如“D:\Jmeter\bin\ApacheJMeterTemporaryRootCA.crt”)複製至手機存儲目錄下(如手機存儲目錄\sdcard\);
- 10.2 安裝Jmeter證書至手機:
方法1:(以小米手機爲例)打開手機設置 --> WLAN --> 高級設置 --> 安裝證書 --> (定位並選擇上一步複製至手機的Jmeter證書) --> 輸入證書名稱(如Jmeter) --> 憑據用途:VPN和應用 --> 確定,即安裝成功。
方法2:打開手機設置 --> 更多設置 --> 系統安全 --> 從存儲設備安裝 --> (定位並選擇上一步複製至手機的Jmeter證書) --> 輸入證書名稱(如Jmeter) --> 憑據用途:VPN和應用 --> 確定,即安裝成功。
- 10.3 啓動Jmeter的Http(s) Test Script Recorder:
參照"7. Jmeter如何Http調試抓包,並錄製腳本記錄?"中的操作,即可。
- 10.4 查看運行Jmeter Http(s)代理服務的電腦的IP地址:
按鍵Win+R打開運行窗口 --> 輸入cmd,打開cmd.exe命令行窗口 --> 輸入ipconfig,查看本機的局域網地址(如192.168.1.2)
- 10.5 設置手機代理:
設置 --> WLAN --> 連接的WLAN列表裏,點擊進入你當前的WIFI連接 --> 代理:手動 --> 主機名填入10.4步驟中記錄的運行Jmeter的電腦主機的局域網IP地址 --> 端口:88888(Jmeter 默認端口) --> 確定,保存設置。
- 10.6 查看手機的Http(s)請求的抓包結果:
通過手機上的任一瀏覽器訪問網絡,即可在“Thread Group”中查看到Http(s)請求,在“View Results Tree”中查看Http(s)請求的結果。
- 10.7 取消手機代理:
抓包完成後,可按10.5設置手機代理中的操作,將代理設置爲“無”,即可。
11. 如何保留訪問鏈接後的cookies, token?
在Test Plan下的Thread Group裏添加HTTP Cookie Manager即可。
12. Jmeter中如何執行Java代碼?
添加BeanShell Sampler,並填入Java代碼即可。
13. Jmeter與BeanShell Sampler的Java代碼,如何交互?
打印信息:log.info();
保存變量到Jmeter中使用:vars.put("variable_name_xxx",variable_value_xxx);