一、打开函数助手对话框
点击tools > 函数助手对话框
二、常用函数
__BeanShell
作用:执行BeanShell语法的程序语句或者Bean Shell脚本文件,比如得到一个算数运算的结果,拼接两个字符串。
参数:
Expression to evaluate:必填,BeanShell语法的程序语句或者Bean Shell脚本文件。
Name of variable in which to store the result (optional):非必填,储存结果的变量名。
示例:
${__BeanShell(12*123,)}:得到12和123相乘后的结果 1476。
${__BeanShell(“adf”+“8998”,)}:得到两个字符串拼接后的结果 adf8998。
__CSVRead
作用:从csv或者txt文件读取指定列的值,从第0列开始,如果有多个线程,按顺序从第一行开始读取,如果线程数超过数据行数,则重新从第一行开始循环获取。
参数:
CSV file to get values from | *alias:必填,文件绝对路径。
Column number of CSV file | next | *alias:必填,读取第几列的数据,从0开始。
示例:
${__CSVRead(F:\code\jmeter\login_data.csv,0)}:获取login_data.csv文件中第一列的数据
${__CSVRead(F:\code\jmeter\login_data.csv,1):获取login_data.csv文件中第二列的数据
__digest
作用:加密
参数:
Digest algorithm:加密算法:MD2, MD5, SHA-1, SHA224, SHA256, SHA384, SHA512
String to be hashed:必填,需要加密的值
Salt to be used for hashing (optional):非必填,撒盐加密
Upper case result, defaults to false (optional):非必填,默认小写,是否要转成大写
Name of variable in which to store the result (optional):非必填,变量名称
示例:
${__digest(MD5,abcd,1234,true,)}:MD5加密,加盐,字母大写输出。
__javaScript
作用:返回JavaScript脚本执行结果,还可以直接调用jmeter的内置函数。
参数:
JavaScript expression to evaluate:必填,js表达式。
Name of variable in which to store the result (optional):非必填,变量名。
示例:
${__javaScript(“sdjfsjfk89898”.substring(8,13),)}:截取字符串中索引位8~13位的值,逗号前要加转义符‘\’。
__property
作用:获取Jmeter的属性,%JMETER_HOME%\bin\jmeter.properties
参数:
Name of property:获取值的属性名称。
Name of variable in which to store the result (optional):非必填,赋值变量名。
Default value:非必填,默认值。
实例:
${__property(server_port,)}:读取 server_port属性,如果找不到 server_port属性,则返回 server_port(属性名)。
${__property(server_port,prop,)}:读取 server_port属性,将读取到的属性值存储到 prop 变量中,可通过 ${prop} 引用。
${__property(server_port,prop,默认值)}:读取 server_port属性,如果找不到 server_port属性,则返回 default value。
__Random
作用:生成指定范围内的随机数
参数:
The minimum value allowed for a range of values:必填,开始值。
The maximum value allowed for a range of values:必填,结束值。
Name of variable in which to store the result (optional):非必填,变量名。
实例:
${__Random(1,100,num)}:随机生成1~100之间的整数(全闭)
__RandomDate
作用:生成指定范围内的日期
参数:
Base64 string to be decoded:非必填,日期格式,默认 yyyy-MM-dd;
Start date (optional) (default: now):非必填,开始日期;
End date:必填,结束日期;
String format of a locale (ex: fr_FR , en_EN) (optional):非必填,语言;
Name of variable in which to store the result (optional):非必填,变量名;
${__RandomDate(yyyy MM dd,2001 01 01,2022 05 10,zh_CN,date)}:以yyyy MM dd格式随机生成2001 01 01到2022 05 10的随机日志,赋值给变量date;
__RandomString
作用:生成指定长度的字符串
参数:
Random string length:必填,字符串长度;
Chars to use for random string generation:必填,可选字符串;
Name of variable in which to store the result (optional):非必填,变量名;
实例:
${__RandomString(6,qwertyuiopasdfghjklzxcvbnm,code)}:在字符串qwertyuiopasdfghjklzxcvbnm中随机获取6位随机字符串。
__setProperty
作用:动态设置jmeter属性
参数:
Name of property:必填,属性名称;
Value of property:必填,属性值;
Return Original Value of property (default false)?:非必填,是否返回函数结果。
实例:
${__setProperty(prop,123,True)}:设置值为123的全局属性prop(该属性值可以跨线程使用)
__time
作用:返回当前时间,可指定返回格式。
年:yyyy
月:MM
日:dd
时:hh(12小时制)、HH(24小时制)
分:mm
秒:ss
参数:
Format string for SimpleDateFormat (optional):返回格式;
Name of variable in which to store the result (optional):变量名
实例:
${__time(,)}:获取13位时间戳
${__time(yyyy-MM-dd hh:mm:ss,t)}:生成指定格式yyyy-MM-dd hh:mm:ss的时间
__UUID
作用:获取UUID(通用唯一识别码)。UUID是基于当前时间戳、随机数和硬件标识(例如网卡的MAC地址)等数据生成的,在同一时间范围内是唯一的。
参数:无