zoukankan      html  css  js  c++  java
  • Jmeter在非GUI环境下传递参数(命令行&Jenkins配置)

    https://www.cnblogs.com/kill0001000/p/8078686.html

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

     JMeter在windows系统下启动的是一个Swing GUI界面,也可以在Linux/Unix系统中作为一个命令使用。调用JMeter的 “jmeter -?”命令将打印所有命令选项的一个列表。列表如下: 
    -h, --help 打印使用信息并退出
    -v, --version 打印版本信息并推出
    -p, --propfile {argument} 使用的JMeter属性文件
    -q, --addprop {argument} 附加的属性文件
    -t, --testfile {argument} 运行的jmeter测试文件(.jmx)
    -l, --logfile {argument} 日志取样文件
    -n, --nongui 非用户界面运行JMeter
    -s, --server 运行JMeter服务器
    -H, --proxyHost {argument} 设置JMeter使用的代理服务器
    -P, --proxyPort {argument} 设置JMeter使用的代理服务器端口
    -u, --username {argument} 设置JMeter使用的代理服务器用户名
    -a, --password {argument} 设置JMeter使用的代理服务器密码
    -J, --jmeterproperty {argument}={value} 定义附加的jmeter属性
    -D, --systemproperty {argument}={value} 定义附加的System属性
    -S, --systemPropertyFile {filename} 一个属性文件被做为系统属性添加
    -L, --loglevel {argument}={value} 定义日志等级: [category=]level 例如jorphan=INFO or jmeter.util=DEBUG
    -r, --runremote 从非用户界面模式启动远程服务器
    -d, --homedir {argument} 使用的JMeter目录
    -j,--jmeterlogfile {argument} the jmeter log file
    -G,--globalproperty (argument)[=value] 定义一个JMeter属性并发往所有远程服务器。如:-Gport=123、-Gglobal.properties
    -R,--remotestart serverl,... (non-GUI only) 在指定远程服务器上运行
    -X,--remoteexit Exit the remote servers at end of test (non-GUI)

  • 相关阅读:
    [LeetCode 1029] Two City Scheduling
    POJ 2342 Anniversary party (树形DP入门)
    Nowcoder 106 C.Professional Manager(统计并查集的个数)
    2018 GDCPC 省赛总结
    CF 977 F. Consecutive Subsequence
    Uva 12325 Zombie's Treasure Chest (贪心,分类讨论)
    Poj 2337 Catenyms(有向图DFS求欧拉通路)
    POJ 1236 Network of Schools (强连通分量缩点求度数)
    POJ 1144 Network (求割点)
    POJ 3310 Caterpillar(图的度的判定)
  • 原文地址:https://www.cnblogs.com/shengs/p/10331632.html
Copyright © 2011-2022 走看看