经常会有同学问到,ForEach循环控制器只能遍历一个列表,但是实际中多个列表需要同时遍历该怎么办呢?



这种情况可以使用一个列表进行ForEach循环,同时配合计数器获取当前循环次数,也就是遍历次数,根据遍历次数,结合函数拼接或者嵌套引用来达到遍历其他列表的效果。
提取多个列表
设置计数器
在场景变量中添加计数器。
使用ForEach循环控制器
使用ForEach循环控制器遍历name列表。
嵌套引用其他列表和计数器遍历
使用嵌套引用${__BeanShell(vars.get(“var_${num}”))},达到遍历多个列表的效果。
如上图所示,第一个步骤提取的所有列表都在循环控制器中实现了遍历引用。
2 个赞
我刚刚试了下 ,不行啊 ,${BeanShell(vars.get("finance_name${num}"))} ,没有取到值
${__BeanShell(vars.get(“finance_name_${num}”))}
要这样,因为语法问题,有个下划线展示不出来。
请问列表型场景变量怎么转义逗号?里面有一个值有逗号,就直接隔开了。
比如a,b,(a,b) 期望的第三个元素是(a,b),但是循环里面变成了四个循环。
玉树
8
这种情况,你可以使用脚本中自定义的变量做为计数器,也就是在不同的循环中让不同的计数器变量加1,而不使用场景变量中的计数器。
玉树
9
不可以哦,列表类型场景变量一定会按照逗号分隔的,不可以转义。建议把逗号换成其他符号吧。