angela 发表于 2018-1-9 23:35:53

Jmeter在非GUI环境下传递参数(命令行&Jenkins配置)

  通过cmd运行 jmeter -? 可以得到所有命令行选项(本文最后)
  其中可以看到下面 -J 的使用
  -J, --jmeterproperty <argument>=<value>
  Define additional JMeter properties
  当通过JMeter属性的方法调用变量时,需要修改变量的传入方式。普通的定义变量是:${threadsUsers}的形式。
  但是本方法是通过添加JMeter的属性,属性和参数是不同的,因此在调用中采用${__P(threadsUsers)}的形式进行调用。(注意是两个下划线)
  这样就可以完成通过命令行的参数,来达到更改脚本中变量的效果了!
  jmx文件中的设置:
  ${__P(threadsUsers,5)} 并设置默认值
https://images2017.cnblogs.com/blog/698886/201712/698886-20171221094846412-328401850.png
  Jenkins(Excute Windows batch command)
  

jmeter -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: 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模式下)
页: [1]
查看完整版本: Jmeter在非GUI环境下传递参数(命令行&Jenkins配置)