前戲
一般情況下我們都是在NonGUI模式下運作jmeter。這樣做有兩個好處
- 節省系統資源,能夠産生更大的負載
- 可以通過指令行參數對測試場景進行更精細的配置
Windows
- 計算機-屬性-進階系統設定-環境變量
- 點選建立,變量名輸入:JMETER_HOME,變量值輸入你的Jmeter解壓路徑,将jmeter放到盤符的跟目錄
- 點選确定,然後編輯path,在變量值末尾加上%JMETER_HOME%\bin
- 設定CLASSPATH:%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-2.0.jar;
- 設定好之後,驗證一下配置是否成功,打開DOS視窗輸入 jemeter -v,如果列印出Jmeter的版本資訊,說明環境配置成功
既然是要通過non-gui模式運作,那麼我們就不得不去了解下在non-gui模式下jmeter指令的參數,下面是Jmeter官方文檔中列出來的一些參數,中文注釋部分為我加入的解釋
參數
-h, --help
print usage information and exit
#列印幫助資訊
-v, --version
print the version information and exit
#列印版本資訊
-p, --propfile {argument}
the jmeter property file to use
#運作時指定property檔案,預設是使用JMETER_HOME/bin目錄下的jmeter.properties,如果使用者自定義有其它的配置,在這裡加上
#用法如下: -p user.properties
-q, --addprop {argument}
additional property file(s)
#其它配置檔案,如JVM參數等等
-t, --testfile {argument}
the jmeter test(.jmx) file to run
#要運作的jmeter腳本
-j, --jmeterlogfile {argument}
the jmeter log file
#指定記錄jmeter log的檔案,預設為jmeter.log
-l, --logfile {argument}
the file to log samples to
#記錄采樣器Log的檔案
-n, --nongui
run JMeter in nongui mode
#以nongui模式運作jmeter
-s, --server
run the JMeter server
#運作JMeter server
-H, --proxyHost {argument}
Set a proxy server for JMeter to use
#代理伺服器位址
-P, --proxyPort {argument}
Set proxy server port for JMeter to use
#代理伺服器端口
-u, --username {argument}
Set username for proxy server that JMeter is to use
#代理伺服器的使用者名
-a, --password {argument}
Set password for proxy server that JMeter is to use
#代理伺服器使用者名對應的密碼
-J, --jmeterproperty {argument}={value}
Define additional JMeter properties
#定義額外的Jmeter屬性
-G, --globalproperty (argument)[=(value)]
Define Global properties (sent to servers)
e.g. -Gport=123
or -Gglobal.properties
#定義發送給server的全局屬性
#如:-Gport=123 或者-Gglobal.properties(指定監聽server的端口)
-D, --systemproperty {argument}={value}
Define additional System properties
#定義系統屬性
-S, --systemPropertyFile {filename}
a property file to be added as System properties
#通過指定的property檔案定義系統屬性
-L, --loglevel {argument}={value}
Define loglevel: [category=]level
e.g. jorphan=INFO or jmeter.util=DEBUG
#定義日志等級
-r, --runremote (non-GUI only)
Start remote servers (as defined by the jmeter property remote_hosts)
#啟動遠端server(在jmeter property中定義好的remote_hosts),公在non-gui模式下此參數才生效
-R, --remotestart server1,... (non-GUI only)
Start these remote servers (overrides remote_hosts)
#啟動遠端server(如果使用此參數,将會忽略jmeter property中定義的remote_hosts)
-d, --homedir {argument}
the jmeter home directory to use
#Jmeter運作的主目錄
-X, --remoteexit
Exit the remote servers at end of test (non-GUI)
#測試結束時,退出(在non-gui模式下)
jmeter -n -t E:\jmeter_script\csca_create.jmx -l res.jtl -e -o ./report
-e表示導出,-o表示導出的路徑
reports下和jtl檔案要為空