使用非 GUI 模式,即命令行模式運行 JMeter 測試腳本可以大大縮減所須要的系統資源。優勢以下:
一、節約系統資源:無需啓動界面,節約系統資源css
二、便捷快速:僅需啓動命令行,輸入命令即可執行,是爲命令達人最愛linux
三、易於持續集成:可經過shell腳本命令執行shell
本文介紹linux下以命令行模式運行的方法。ubuntu
sh jmeter.sh -n -t <testplan filename> -l <listener filename> 示例: sh jmeter.sh -n -t test.jmx -l test.jtl 示例含義:則表示以命令行模式運行testplan.jmx文件,輸出的日誌文件爲test.jtl。 日誌默認輸出路徑同jmx腳本路徑。可自行設置絕對路徑
一、進入\jmeter\bin目錄,執行命令,以下圖: windows
二、查看結果
上述的命令有要求測試結果保存到test.jtl中,若是須要能夠在GUI模式下查看測試報告。服務器
步驟:打開Jmeter GUI界面 -> 在測試計劃下,添加對應的測試報告元件(聚合報告、查看結果樹) -> 選擇對應的日誌文件。測試
⚠️須要看什麼報告,就添加什麼報告測試元件!!!ui
具體見下圖:spa
在linux中,使用非gui的方式執行jmeter。若需更改參數,必須先編輯jmx文件,找到對應的變量進行修改,比較麻煩。所以能夠參數化一些經常使用的變量,直接在Jmeter命令行進行設置。命令行
__P:設置屬性的默認值。有兩個參數:變量名,默認值(默認值爲1)。 例如:${__P(hostname,XXX)}:返回屬性hostname的值,若是沒有定義該屬性則返回值XXX
一、以設置本地jmeter屬性爲例,先在windows下編輯腳本,將線程數、循環次數、ramp up-period等參數化。
以下圖:定義四個變量和變量對應的默認值。
例如${__P(threadNum,1)},表示變量threadNum的默認值爲1。
sh jmeter.sh -n -t /home/ubuntu/jmeter1/test.jmx -J threadNum=10 -J period=30 -J time=45 -l /home/ubuntu/jmeter1/test.jtl
三、再次運行腳本時,無需編輯腳本,只須要在執行命令中更改threadNum、period和time的值,便可修改線程屬性.
-h 幫助 -> 打印出有用的信息並退出 -n 非 GUI 模式 -> 在非 GUI 模式下運行 JMeter -t 測試文件 -> 要運行的 JMeter 測試腳本文件 -J 是設置本地jmeter屬性,引用變量參數 -G 是設置server的jmeter屬性 -l 日誌文件 -> 記錄結果的文件 -r 遠程執行 -> 在Jmter.properties文件中指定的全部遠程服務器 -H 代理主機 -> 設置 JMeter 使用的代理主機 -P 代理端口 -> 設置 JMeter 使用的代理主機的端口號
以上對你有幫助的話,點個贊吧~😊