Jmeter——变量嵌套函数使用(__V)案例分析

jmeter版本:5.3

__V官方函数解释:

(https://jmeter.apache.org/usermanual/functions.html#__V)

图1-1

解决问题:实现字符串拼接

案例1:

1、如果想生成,index_part_0_g,index_part_1_g。。。。,这类有规律的字符串,可以使用${__V(${jmeter_var_name})}。

__V函数实现字符串拼接,存在设置默认值对拼接结果的影响(参见图1-3)。

__V函数不带逗号,${__V(index_part_${replicas}_g0)}:返回字符串拼接值;

__V函数不带逗号,replica不存在,${__V(index_part_${replica}_g0)}:replica引用变量不存在,直接返回函数内的变量;

__V函数带逗号,${__V(index_part_${replicas}_g0,)}:返回空值;

__V函数带逗号,设置默认值,${__V(index_part_${replicas}_g0,i)}:返回设置的默认值i;

总结:使用__V函数单纯想获取多个自字符串连接时,一定不要带逗号,否则返回的结果与${__V(v1,v2)}的v2值一致。

图1-2

图1-3

案例2:

1、如果jmeter的中间变量名有规律,且想提取这类变量里面的值,也可以使用__V函数。

   jmeter取样器中看到,存在有规律的中间变量index_part_1_g0,index_part_2_g0,index_part_3_g0,index_part_4_g0,index_part_5_g0,index_part_6_g0,可以使用${__V(index_part_${i}_g0)}和循环控制器就可以提取index_part_1_g0,index_part_2_g0,index_part_3_g0,index_part_4_g0,index_part_5_g0,index_part_6_g0存储的值(参见图1-4)。

图1-4

__V函数提取jmeter中间变量,同样存在设置默认值对提取结果的影响(参加图1-5)。

__V函数不带逗号,i存在,${__V(index_part_${i}_g0)}:返回字符串拼接后对应的jmeter中间变量值;

__V函数不带逗号,j不存在,不设置默认值,${__V(index_part_${j}_g0)}:返回函数变量index_part_${j}_g0;

__V函数带逗号,i存在,默认值缺失,${__V(index_part_${i}_g0,)}:返回字符串拼接后对应的jmeter中间变量值;

__V函数带逗号,i存在,设置默认值value,${__V(index_part_${i}_g0,value)}:返回字符串拼接后对应的jmeter中间变量值;

__V函数带逗号,j不存在,设置默认值,${__V(index_part_${j}_g0,null_v)}:返回null_v;

__V函数带逗号,j不存在,默认值缺失,${__V(index_part_${j}_g0,)}:返回空;

总结:__V函数提取jmeter中间变量值,带或者不带逗号对提取结果没有影响;

      __V函数设置默认值,如果字符串拼接得到的变量不存,返回默认值。

 

 

 

图1-5

posted @ 2020-12-08 20:41  驴鼾酱子  阅读(1453)  评论(0编辑  收藏  举报