JMeter學習—006—JMeter 命令列(非GUI模式)詳解(一)-分散式(遠端)執行指令碼及檢視指定結果、日誌
一、應用場景
1、無需互動介面或受環境限制(linux text model)2、遠端或分散式執行
3、持續整合,通過shell指令碼或批處理命令均可執行,生成的測試結果可被報表生成模組直接使用,便於生成報告
二、命令列模式優點
1、節約系統資源:無需啟動介面,節約系統資源2、便捷快速:僅需啟動命令列,輸入命令便可執行,是為命令達人最愛
3、易於持續整合:可通過shell指令碼命令執行
三、引數詳解(為了方便記憶,我把引數全英文寫出來)
命令引數 |
命令英文釋義 | 命令中文釋義 |
-n | This specifies JMeter is to run in non-gui mode |
指定JMeter在非gui模式下執行 |
-t | [name of JMX file that contains the Test Plan]. | 指定jmx指令碼路徑 引數為:jmx指令碼路徑,若指令碼非當前目錄需用全路徑或相對路徑。 |
-l | [name of JTL file to log sample results to] | 指定結果檔案路徑 引數為:結果檔案路徑。路徑不存在時會自動建立。 |
-j | [name of JMeter run log file]. | 指定執行日誌路徑 引數為:日誌路徑。路徑不存在,不會自動建立,同時將日誌輸出至命令列控制檯。執行第二次,路徑不存在,就會自動建立了,很奇怪。 |
-r | Run the test in the servers specified by the JMeter property "remote_hosts" | 設定分散式(遠端)執行 伺服器列表由JMETER_HOME/bin/jmeter.properties中remote_hosts指定的伺服器上執行測試 |
-R | [list of remote servers] Run the test in the specified remote servers | 指定遠端(分散式)伺服器列表 引數為:指定伺服器列表,配置形式如同remote_hosts |
-g | [path to CSV file] generate report dashboard only |
指定測試結果檔案路徑。僅用於生成測試報表 引數為:csv結果檔案 |
-e | generate report dashboard after load test |
設定測試完成後生成測試報表 |
-o | output folder where to generate the report dashboard after load test. Folder must not exist or be empty The script also lets you specify the optional firewall/proxy server information: |
指定測試報表生成資料夾。資料夾必須為空或不存在 引數為:報表資料夾路徑 |
-H | [proxy server hostname or ip address] | 指定代理伺服器域名或代理伺服器IP 引數為:代理伺服器域名或代理伺服器IP |
-P | [proxy server port] | 指定代理伺服器埠號 引數為:代理伺服器埠號 |
四、分散式執行步驟(從指令碼到命令執行)
步驟1、在主控機中jmeter.properties中remote_hosts配置執行機的IP
步驟2、jmx指令碼配置檔案需要給執行機(路徑需和控制機保持一致),無配置檔案就不需要給執行機任何檔案了。
步驟3、開啟執行機的jmeter-server.bat服務監聽。(若主控機也當執行機的話,也需要開啟)
步驟4、cmd進入jmeter.bat目錄下執行分散式(遠端)命令,進行分散式測試即可
五、例項演示
1、執行測試指令碼
jmeter -n -t C:\Users\Administrator\Desktop\invest.jmx 【我的jmx檔案路徑在桌面上】
命令列視窗輸出如下所示:
預設的日誌路徑在Jmeter_HOME\bin\jmeter.log
2、指定結果檔案及日誌路徑
jmeter -n -t C:\Users\Administrator\Desktop\invest.jmx -l report\01-result.csv -j report\01-log.log命令列視窗輸出如下所示:
若日誌路徑不存在,則JMeter不會自動建立,同時將日誌輸出至命令列視窗。再執行一次,就出來了,很奇怪。不放你們可以試一試。
結果檔案型別為 jtl 或 csv,可通過JMeter的聚合報告瀏覽結果檔案,檢視最終的結果,如下所示:
3、分散式(遠端)執行預設伺服器列表
jmeter -n -t C:\Users\Administrator\Desktop\invest.jmx -r -l report\01-result.csv -j report\01-log.log
命令列輸出結果和以上一樣,就不截圖了。你們可以嘗試下
若出現如下圖所示情況,請檢查:網路是否暢通、伺服器域名(IP)及埠是否正確、執行機是否啟動jmeter-server.bat 或 jmeter-server
4、分散式(遠端)執行指定伺服器列表
jmeter -n -t C:\Users\Administrator\Desktop\invest.jmx -R 127.0.0.1,10.133.255.175:1099 -l report\01-result.csv -j report\01-log.log
最後,非常感謝親的駐足,希望此文能對親有所幫助。熱烈歡迎親一起探討,共同進步。非常感謝! ^_^