Jmeter中提供了许多内置函数功能,我们可以通过函数助手帮助我们使用这些函数。后边我们还可以通过安装插件,丰富自己环境的函数库,本文主要介绍Jmeter常用的自带函数使用,如:time函数、timeShift函数、Random函数、RandomString函数、V函数
Jmeter的函数助手入口如图:
我们可以点击函数助手弹窗的【帮助】查阅我们所需要使用的函数信息。
点击后就可以跳转到函数的信息页面
通过点击想要使用的函数,就可以展示对应函数的具体信息,以time函数为例:
一:time函数:用来获取当前的时间,可以指定时间格式。
上边我们函数帮助文档可以观察到time函数的具体信息了,下面进行实际使用。
(1)不填参数,点击生成,则会在剪贴板生成了表示精确到毫秒级别的时间戳,这里的时间戳长度是13位,在想要使用该函数的地方Ctrl+V即可。
接下来我们在请求中使用该函数:
(2)填写第一个参数:/1000,点击生成,则会在剪贴板生成了精确到秒级的时间戳,这里的时间戳长度是10位
函数使用方式同上。
(3)有时候我们想要的是具体的时间格式,如:yyyy-MM-dd HH:mm:ss;yyyy年MM月dd日 HH时mm分ss秒;yyyy-MM-dd等,具体的时间格式可以根据项目的时间类型具体定义。
具体使用同(1)
二:timeShift函数:该函数主要用来获取当前时间的偏移时间,如:当前时间的前3分钟,前3小时,前3天,后3分钟,后3小时,后3天等。
主要使用到的偏移时间格式:
(1)当前时间+3天:P3D
(2)当前时间-3天:-P3D
(3)当前时间+3小时:PT3H
(4)当前时间-3小时:-PT3H
(5)当前时间+3小时30分:PT3H30M
(6)当前时间-3小时30分:-PT3H30M
(7)当前时间+3天3小时:P3DT3H
(8)当前时间+3天3小时30分:P3DT3H30M
(9)当前时间-3天3小时30分:-P3DT3H30M
三:Random函数:用来随机生成一个指定范围内的数字
注意事项:该区间是一个左闭右开的区间,左边的最小值是可能被随机取值到的,右边的最大值是取值不到的。
四:RandomString函数:用来随机生成一串字符串
五:V函数:该函数也称为拼接函数
对用多个Jmeter变量要一起使用的时候,就需要使用到V函数。举个场景:我们通过后置处理器提取器得到了一个列表数据如:[name_1,name_2,name_3,name_4,name_5]
这时候如果我们想要随机取其中的某个值,就需要用到V函数进行拼接。
步骤为:(1)首先使用Random函数确定下随机的范围:
${__Random(1,${name_matchNr}+1,)}
此处填写${name_matchNr}+1的原因是Random函数是左闭右开区间,+1才能够随机取值到列表最后一个数据。
通过这个函数就可以确定下每次脚本执行的取值范围
(2)随机取列表某个数据
${__V(name_${__Random(1,${name_matchNr}+1,)},)}