Jmeter在非GUI環境下傳遞參數(命令行&Jenkins配置)


通過cmd運行 jmeter -? 可以得到所有命令行選項(本文最后)

 

其中可以看到下面 -J 的使用

-J, --jmeterproperty <argument>=<value>
Define additional JMeter properties

 

當通過JMeter屬性的方法調用變量時,需要修改變量的傳入方式。普通的定義變量是:${threadsUsers}的形式。

但是本方法是通過添加JMeter的屬性,屬性和參數是不同的,因此在調用中采用${__P(threadsUsers)}的形式進行調用。(注意是兩個下划線

這樣就可以完成通過命令行的參數,來達到更改腳本中變量的效果了!

 

jmx文件中的設置:

${__P(threadsUsers,5)} 並設置默認值

 

Jenkins(Excute Windows batch command)

jmeter -n -t %TestAPI%.jmx -JthreadsUsers=%threadsUsers% -JDuration=%Duration% -l result_output\%TestAPI%.jtl

Jenkins(Excute shell)

JVM_ARGS="-Xms1024m -Xmx2048m" $JMETER_HOME/bin/jmeter -L$loglevel -n -t $TestAPI.jmx 
-JthreadsUsers=$threadsUsers -JDuration=$Duration -l result_output\$TestAPI.jtl

所有命令行選項:

-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模式下)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM