●前言
使用非 GUI 模式,即命令行模式運行 JMeter 測試腳本可以大大縮減所須要的系統資
第一步:執行命令
先在Jmeter中把要測試的請求配置好,而後去cmd中運行腳本。我這裏只用了10條作測試,你們能夠調多一點。
命令:jmeter -n -t 口令紅包併發測試.jmx -l test.jtl
絕對路徑:jmeter -n -t c:\口令紅包併發測試.jmx -l c:\test.jtl
JMeter 默認去當前bin目錄下尋找腳本文件,並把日誌記錄在當前目錄。好比你在 E:\Jmeter\apache-jmeter-4.0\bin>目錄下執行以上命令,JMeter 會去該目錄下尋找 口令紅包併發測試.jmx腳本並把執行結果放在該目錄。
若是你的腳本在其餘目錄,並且想要把執行結果放在另外文件夾,須要使用絕對路徑告訴 JMeter
第二步:查看報告
第一種方法:
上述的命令有要求測試結果保存到Jmeter bin目錄中,若是須要能夠在GUI模式下查看測試報告。
一、打開Jmeter GUI界面
二、在測試計劃下,添加對應的測試報告元件,想看哪一個就能夠添加哪一個報告,如:聚合報告、查看結果樹、Summary Report測試報告
三、在全部數據寫入一個文件,瀏覽中選擇對應的日誌文件
四、下面就會有對應的表格展現,具體見下圖
第二種方法(生成web報告):
命令:jmeter -n -t 口令紅包併發測試.jmx -l result.txt -e -o test/test
PS:
result.txt 爲測試結果文件路徑
test/test 存放web報告保存路徑,若是沒有該路徑,能夠自動生成。
Web報告以下所示:
CMD窗口的提示信息
================================================================================ Don't use GUI mode for load testing !, only for Test creation and Test debugging. For load testing, use NON GUI Mode: jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder] & increase Java Heap to meet your test requirements: Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file Check : https://jmeter.apache.org/usermanual/best-practices.html ================================================================================
上面的意思就是:不要使用GUI運行壓力測試,GUI僅用於壓力測試的建立和調試;執行壓力測試請不要使用GUI。使用下面的命令來執行測試:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
而且修改JMeter批處理文件的環境變量:HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"
命令介紹
jmeter -n -t <testplan filename> -l <listener filename>
示例: jmeter -n -t testplan.jmx -l test.jtlhtml
示例含義:則表示以命令行模式運行testplan.jmx文件,輸出的日誌文件爲test.jtl
參數介紹
這裏是咱們使用非 GUI 模式運行測試腳本時能夠使用的一些命令,Jmeter官網用戶手冊介紹以下:
-h, –help -> prints usage information and exit
-n, –nongui -> run JMeter in nongui mode
-t, –testfile <argument> -> the jmeter test(.jmx) file to run
-l, –logfile <argument> -> the file to log samples to
-r, –runremote -> Start remote servers (as defined in remote_hosts)
-H, –proxyHost <argument> -> Set a proxy server for JMeter to use
-P, –proxyPort <argument> -> Set proxy server port for JMeter to useweb
具體的含義以下:apache
-h 幫助 -> 打印出有用的信息並退出服務器
-n 非 GUI 模式 -> 在非 GUI 模式下運行 JMeter併發
-t 測試文件 -> 要運行的 JMeter 測試腳本文件測試
-l 日誌文件 -> 記錄結果的文件ui
-r 遠程執行 -> 在Jmter.properties文件中指定的全部遠程服務器spa
-H 代理主機 -> 設置 JMeter 使用的代理主機命令行
-P 代理端口 -> 設置 JMeter 使用的代理主機的端口號debug
例如:jmeter -n -t test1.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080