Jmeter变量嵌套的方法

Seleton 2020-06-13

使用场景:从数据库中或者通过正则表达式、json提取器获取了多个值时,除了使用foreach控制器遍历每个值,还可以使用计数器或者random函数进行自定义读取(计数器或random函数的值作为下标)

实例:
现在有一个接口,返回了多个视频地址,通过json提取器进行提取,变量名为videoUrl,提取结果为:

videoUrl_1=/group1/M00/00/29/L2t00l6qrIqAJlAPAB9uhSKuIl0228.mp4
videoUrl_10=/group1/M00/00/29/L2t00l6qrJCAOHerABWbdUTU8CQ818.mp4
videoUrl_2=/group1/M00/00/29/L2t00l6qrIWAfugoAB9FnKQ1U04324.mp4
videoUrl_3=/group1/M00/00/29/L2t00l6qrIeAeJlBABrWoA0fivc195.mp4
videoUrl_4=/group1/M00/00/29/L2t00l6qrImAV4V3ACN9rgABBnI345.mp4
videoUrl_5=/group1/M00/00/29/L2t00l6qrIqAXW4yAB4tqXnL5Lg373.mp4
videoUrl_6=/group1/M00/00/29/L2t00l6qrISANetJAB3SU-emJBI446.mp4
videoUrl_7=/group1/M00/00/29/L2t00l6qrIGAK87GABqNzVxPGb4296.mp4
videoUrl_8=/group1/M00/00/29/L2t00l6qrICAadpHACHcOod9NI8878.mp4
videoUrl_9=/group1/M00/00/29/L2t00l6qrIyAVngCABk5nzckNTY503.mp4

现在想要随机获取其中一个地址进行下载。随机函数${__Random(1,9,)}

方法一:调用__V函数

${__V(videoUrl_${__Random(1,9,)})}

方法二:使用__BeanShell函数

${__BeanShell(vars.get("videoUrl_${__Random(1,9,)}")}

扩展:实际场景中可以结合foreach控制器进行遍历,结合计数器,将返回的所有值挨个提取出来。

相关推荐