MeterSphere使用计数器和嵌套引用实现遍历多个列表变量
经常会有同学问到,ForEach循环控制器只能遍历一个列表,但是实际中多个列表需要同时遍历该怎么办呢?
可以使用一个列表进行ForEach循环,同时配合计数器获取当前循环次数,也就是遍历次数,根据遍历次数,结合函数拼接或者嵌套引用来达到遍历其他列表的效果。
提取多个列表
设置计数器
在场景变量中添加计数器。
使用ForEach循环控制器
使用ForEach循环控制器遍历name列表。
嵌套引用其他列表和计数器遍历
使用嵌套引用${__BeanShell(vars.get("var_${num}"))},达到遍历多个列表的效果。
如上图所示,第一个步骤提取的所有列表都在循环控制器中实现了遍历引用。
性能测试中有多个线程时,如何跨线程动态传参
性能测试里动态设置变量可以用属性的方式,${__setProperty(var,value,)}设置属性,${__property(var)}引用属性。用属性方法在性能测试中可以动态传递并且可以跨线程传递
接口测试中如何在前后置脚本中添加int类型变量
var.put()方法只能设置字符串类型变量。
${__setProperty(var,value,)}方法支持设置非字符串类型变量,比如int类型。
执行机经常报内存溢出怎么处理
资源池报错Terminating due to java.lang.OutOfMemoryError。
进入系统设置-资源池,编辑资源池,调整资源池的内存配置。
例如:-Xms2048m -Xmx4096m -XX:MaxMetaspaceSize=4096m
性能测试,同一jmx文件,在jmeter中启用/禁用场景再导入系统不生效
因为性能测试中,“启用/禁用”和“场景压力配置”属于系统高优先级配置,只能在 MeterSphere 系统中变更生效,不会随着导入的JMX中的”启用/禁用“状态而变化。