JMeter函数是特殊的值,可以填充测试树中任何Sampler或其他元素的字段,通常用于生成随机变量填充请求参数。
函数调用如下所示:
$ {__ functionName(var1,var2,var3)}
其中“ functionName”与函数名称匹配,括号括住发送给函数的参数,例如$ { time(YMD)} 实际参数因函数而异。不需要参数的函数可以省略括号,例如$ {__ threadNum}。如果函数参数包含逗号,确保使用“ \ ”将其转义,否则JMeter会将其视为参数定界符。
变量引用如下:$ {VARIABLE}
属性与变量不同。变量是线程本地的;属性是所有线程共有的,需要使用__P或__property对函数进行引用,测试计划执行时若需要设置Jmeter属性则使用:
${__setProperty(name,value,)}
函数列表
threadNum: 获取线程号
threadGroupName: 获取线程组名称
samplerName: 获取取样器名称(标签)
machineIP: 获取本地机器的IP地址
machineName: 获取本地机器名称
time: 以各种格式返回当前时间
timeShift: 以各种格式返回日期,并添加指定的秒/分钟/小时/天的数量
log: 记录(或显示)消息(并返回值)
logn: 记录(或显示)消息(空返回值)
StringFromFile: 从文件中读取一行
FileToString :读取整个文件
CSVRead :从CSV分隔文件中读取
XPath :使用XPath表达式从文件中读取
StringToFile :写一个字符串到文件
counter: 产生一个递增的数字
dateTimeConvert :将日期或时间从源格式转换为目标格式
digest :生成摘要(SHA-1,SHA-256,MD5 …)
intSum :添加整数
longSum :加长号
Random :产生一个随机数
RandomDate :生成特定日期范围内的随机日期
RandomFromMultipleVars: 从由|分隔的一组变量的值中提取元素
RandomString: 产生随机字串
UUID: 生成随机类型4 UUID
groovy :运行一个Apache Groovy脚本
BeanShell :运行一个BeanShell脚本
javaScript: 处理JavaScript(Nashorn)
jexl2 :评估Commons Jexl2表达式
jexl3 :评估Commons Jexl3表达式
isPropDefined :测试属性是否存在
property: 读取Jmeter属性
P :读取属性(速记方法)
setProperty :设置一个JMeter属性
split :将字符串拆分为变量
eval :评估变量表达式
evalVar:计算存储在变量中的表达式
isVarDefined: 测试变量是否存在
V :评估一个变量名
char :从数字列表生成Unicode字符值
changeCase: 按照不同的模式更改大小写
escapeHtml :使用HTML编码对字符串进行编码
escapeOroRegexpChars: 引用ORO正则表达式使用的元字符
escapeXml :使用XMl编码对字符串进行编码
regexFunction :使用正则表达式解析先前的响应
unescape :包含Java转义符的处理字符串(例如\ n和\ t)
unescapeHtml :解码HTML编码的字符串
urldecode:解码应用程序/ x-www-form-urlencoded字符串
urlencode:将字符串编码为application / x-www-form-urlencoded字符串
TestPlanName: 返回当前测试计划的名称