JMeter函数助手之V函数
一、背景
在使用Jmeter做性能测试、接口自动化测试时,想要通过函数嵌套的方式引号变量。
比如,想要自动获取用户定义变量中的city_1、city_2、city_3三个变量的值,想通过${__counter(,num)}函数生成递增数,然后与变量${city_递增数生成函数},在每次执行函数是递增,生成数字1、2、3,然后与city_拼接成变量city_1、city_2、city_3三个变量。但是其实这样是不行的,${city_${__counter(,num)}}会直接报错。所以想要嵌套就得用jmeter的V函数。如图:

二、函数助手调用
启动jmeter界面后,可以在JMeter的选项菜单中找到函数助手对话框(快捷键:Ctrl+Shift+F1),如下图所示:

打开函数助手后,可从下拉列表中选择需要的函数,并为其参数设定值,不同的函数要求的参数也不同。
函数参数,第一列是名称,这是函数参数的简要描述,第二列是值,这是需要用户填充参数的值。
三、V函数
1、界面说明
Jmeter 本身是不支持嵌套函数,需要借用V函数来实现嵌套函数功能。界面如下:

参数说明:
-
第一个参数
- Name of variable (may include variable and function references):必填;需要引用的变量名表达式
-
第二个参数
- Default value:非必填;默认值
2、函数使用
2.1、新建用户定义变量,并以下划线形式区分不同的变量

2.2、用V函数来实现嵌套函数功能
要获取用户定义变量中的city_1、city_2、city_3三个变量的值,就要用${__counter(,num)}函数,在每次执行函数是递增,生成数字1、2、3,然后与city_拼接成变量city_1、city_2、city_3三个变量。

2.3、设置线程组
线程组配置3个用户,并发请求用户定义变量中的city_1、city_2、city_3三个变量的值

2.4、发送请求

重结果看,成功用${__counter(,num)}函数,在每次执行函数是递增,生成数字1、2、3,然后与city_拼接成变量city_1、city_2、city_3三个变量。
#嵌套函数
${__V(city_${__counter(,num)},)}


浙公网安备 33010602011771号