一、應用場景
1、無需交互界面或受環境限制(linux text model)
2、遠程或分布式執行
3、持續集成,通過shell腳本或批處理命令均可執行,生成的測試結果可被報表生成模塊直接使用,便於生成報告
二、命令行模式優點
1、節約系統資源:無需啟動界面,節約系統資源
2、便捷快速:僅需啟動命令行,輸入命令便可執行,是為命令達人最愛
3、易於持續集成:可通過shell腳本命令執行
三、JMete執行方式
JMeter執行方式有2種,一種是GUI模式,一種是非GUI模式。GUI模式就是界面模式,非GUI模式就是命令行模式。界面模式主要用來編寫和調試腳本用的,項目的真正執行最好是采用命令行模式,因為采用命令行模式可以和持續集成或者其它框架進行對接,做成自動化回歸測試平台。
四、JMete非GUI運行優點
JMeter可視化界面及監聽器動態展示結果都比較消耗負載機資源,在大並發情況下GUI方式往往會導致負載機資源緊張,會對性能測試結果造成影響。我們就只有多加機器來運行測試計划(分布式測試),這樣一台負載機變為兩台。所以推薦用非GUI的方式來運行測試計划。雖然非GUI方式不顯示界面,但也會以字符形式周期性顯示執行結果,對負載機的資源消耗會小一些,所有同等條件下非GUI方式的jmeter機器能夠產生的負載會比GUI方式的jmeter產生的負載大一些。
五、jmeter非GUI運行參數
命令參數
命令釋意
-n
命令行模式
-t
指定jmx腳本地址(地址可以是相對路徑,可以是絕對路徑)
參數為JMX腳本路徑,若非當前目錄需用全路徑或相對路徑。
-l(小L)
指定結果文件路徑(jtl或csv)
參數為:結果文件路徑。路徑不存在時會自動創建。
-j
指定執行日志路徑。
參數為:日志路徑。路徑不存在不會自動創建,同時將日志輸出至命令行控制台。
-r
設置分布式(遠程)執行。(開啟遠程負載機)
遠程負載機服務器列表由JMETER_HOME\bin\jmeter.properties中remote_hosts指定。
-R
指定遠程分布式服務器列表。(開啟遠程負載機)
參數為:指定遠程服務器列表,配置形同remote_hosts指定
-g
指定測試結果文件路徑,僅用於生成測試報表
參數為:csv結果文件
-e
設置測試完成后生成測試報表
-o
指定測試報告生成文件夾(文件夾必須存在且為空文件夾)
參數為:報表文件夾路徑
-H
設置代理,指定代理服務器域名或代理服務器IP
參數為:代理服務器域名或代理拂去其IP
-P
設置代理端口,指定代理服務器端口號
參數為:代理服務器端口號
-h
查看幫助
-v
查看版本
-X
停止遠程執行
六、jmeter非GUI運行命令
非GUI基本命令格式:
jmeter -n -t <test JMX file> -l <test log file>
基本命令樣例:
jmeter -n -t E:\testplan.jmx -l E:\read.jtl
1、非GUI並生成html報告
jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>
非GUI並生成html報告:
jmeter -n -t E:\testplan.jmx -l E:\read.jtl -e -o E:\ResultReport
2、非GUI遠程啟動所有服務器並生成html報告:
jmeter -n -t E:\testplan.jmx -r -l E:\read.jtl -e -o E:\ResultReport
3、非GUI遠程啟動所有服務器運行jmx文件並保存結果及日志文件
jmeter -n -t test.jmx -r -l report\01-result.csv -j report\01-log.log
含義為:以命令模式遠程調用remote_hosts中配置的所有服務器運行test測試文件並保存結果及日志文件,需要注意的是執行端的日志文件默認生成在用戶目錄下
4、非GUI遠程啟動某台服務器運行JXM文件並保存結果及日志文件
jmeter -n -t test.jmx -R 192.168.21.40:1029 -l report\01-result.csv -j report\01-log.log
含義為:以命令模式遠程調用192.168.21.40服務器運行test測試文件並保存結果及日志文件
非GUI模式運行並生成log日志文件和html報告
jmeter -n -t F:\test.jmx -l F:test\log\log.log -e -o F:test\\html