JMeter强大的函数助手

背景:在使用jmeter的过程中,大多数使用了元件,而有时不满足需求时,需要自己java开发代码,其实函数助手已经封装好了很多实用的函数,如随机函数random\加密函数md5\计数函数counter等,甚至有csv简化的参数元件函数,以下说明都是Jmeter提供的函数使用方法:

1、_BeanShell() bs脚本函数

JMeter强大的函数助手_第1张图片

Expression to evaluate:表达式,可以是beanshell语句或者是文件地址;

Name of variable in which to store the result(optional):储存值的变量,可以直接参数引用;

点击Generate生成函数表达式:${__BeanShell("shanghai"+"road",test)}

解释:引用会把shanghai和road拼接起来,如shanghairoad ${test}储存的是:shanghairoad

2、_CSVRead() csv参数文件读取

JMeter强大的函数助手_第2张图片

CSV file to get values from | *alias: 填函数csvread读取的绝对路径,格式可以是txt、csv,也可以是别名*alias,只不过要先生成别名代替绝对路径下的文件;如下图:

JMeter强大的函数助手_第3张图片

然后在函数_CSVRead第一行输入上一个步骤生成的别名*file,并且需要在脚本中使用;

JMeter强大的函数助手_第4张图片

Column number of csv file | next | *alias:读取文件的列、下一行、别名;如下图(即使用别名又使用next读取文件行列):

JMeter强大的函数助手_第5张图片

上一步骤先是有别名代替文件绝对路径:*file >> D:\data.txt,函数再生成读取文件的下一行;

JMeter强大的函数助手_第6张图片

${__CSVRead(D:\data.txt,*file)} :解释:*file = D:\data.txt

${__CSVRead(*file,0)} || ${__CSVRead(*file,1)} || ${__CSVRead(*file,next)} 解释:读文件第一列、第二列(文件是从0开始读起),文件的下一行

如图所示(添加上面的java request,不使用next和next的对比):

admin1,192.168.1.1

admin2,192.168.1.2

admin3,192.168.1.3

JMeter强大的函数助手_第7张图片

3、_javaScript() java脚本函数

JMeter强大的函数助手_第8张图片

JavaScript expression to evaluate: 支持javascript脚本的表达式,如9+8,9*7...如Date()...

Name of variable in which to store the result(optional):储存值的变量,可直接引用,如${now}

点击Generate生成${__javaScript(Date(),now)},结果就是获取当前系统时间;

4、_Random() 随机数

JMeter强大的函数助手_第9张图片

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):储存一个随机生成常量的变量,可以被引用;

点击Generate生成函数${__Random(1,999,Num)},解释:随意生成一个1-999之间的数值被Num变量储存;

5、_RandomString() 随机字符串

JMeter强大的函数助手_第10张图片

Random string length:随机字符的长度,2代表两个字符

Chars to use for random string generation:字符类型,可以是纯数字,纯字符,字符字母数字组合

Name of variable in which to store the result (optional):随机生成的字符被变量保存

${__RandomString(2,abcdefghijklmn,name)},解释:随机生成一个2位长度的字符串被name保存;

6、_time() 时间(可以是时间格式、时间戳)

JMeter强大的函数助手_第11张图片

Format string for SimpleDateFormat (optional):时间格式,支持,年yyyy,月MM,日dd,时hh,分mm,秒ss,毫秒sss,之间任意符号连接,/1000就是10位时间戳(精确到秒),不填就是精确到毫秒13位时间戳;

Name of variable in which to store the result (optional):保存任意时间格式的标量,可被引用;

${__time(/1000,time)} 解释:精确到秒的10位时间戳;

${__time(,)}  :  默认该公式精确到毫秒级别, 13位数时间戳

7、其他作用的函数:_counter()计数器函数、_machineIP()、_machineName()带不带参数都是会返回本机ip地址及机器名;

你可能感兴趣的:(JMeter轻量级性能测试工具)