关于jmeter

命令行启动

命令行运行:

jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>
#例如:
jmeter -n -t E:PerformanceTest	est.jmx -l testLogFile.jtl -e -o ./output
jmeter -n -t rest2.jmx -l rest2.jtl

常用函数

  • 同一请求设置多个不重复参数
# 设置用户变量loop_num表示循环次数,para_num表示一个请求内的参数个数
"p1":${__BeanShell(${__threadNum}*${loop_num}*${para_num}-${loop_num}*${para_num}+${para_num}*${__BeanShell(${__counter(TRUE)}-1)})},
"p2":${__BeanShell(${__threadNum}*${loop_num}*${para_num}-${loop_num}*${para_num}+${para_num}*${__BeanShell(${__counter(TRUE)}-1)}+99)},

# 如果只有1000个数据,那么可以取余重用
"p1":${__BeanShell((${__threadNum}*${loop_num}*${para_num}-${loop_num}*${para_num}+${para_num}*${__BeanShell(${__counter(TRUE)}-1)})%1000)},
"p2":${__BeanShell((${__threadNum}*${loop_num}*${para_num}-${loop_num}*${para_num}+${para_num}*${__BeanShell(${__counter(TRUE)}-1)}+99)%1000)},
  • 随机数
${__Random(min, max, variableName[optional])}
  • 随机取变量
${__RandomFromMultipleVars(v1|v2|v3, variableName[optional])}
  • 递增计数
${__counter(FALSE, variableName[optional])}
  • 不重复字符串
${__UUID}
  • 将字符串转为大写或小写:
${__lowercase(Hello,)}
${__uppercase(Hello,)}
  • 随机字符串:
${__RandomString(3,abcde,variableName[optional])}
  • 取字符串中的子串
__substring()
${__javaScript("${__time(,)}".substring(0\,10),)}
${__groovy(vars.get("myVar").substring(0\,2))}
  • 从文件中按行取字符串
_StringFromFile
  • 分割字符串
__split
${__javaScript( "aaa|bbb|ccc".split("|")[1],d1)}

属性

文件位置:jmeter.properties和user.properties

  • 通过BeanShell读写
props.get("START.HMS");//变量通过vars,其它同
props.put("TOKEN",vars.get("token"));
  • 通过函数取值
${__property(TOKEN,,)}
原文地址:https://www.cnblogs.com/liehen2046/p/12124116.html