MeterSphere 常见问题汇总


Administrator
飞致云 发布于 2022-10-18 / 1247 阅读 / 0 评论 /
应用场景经常会有同学问到,ForEach循环控制器只能遍历一个列表,但是实际中多个列表需要同时遍历该怎么办呢?![452d6db8c96a19f07f0bc49d9db6a01](/upload/2022/10/452d6db8c96a19f07f0bc49d9db6a01.jpg)![605098

MeterSphere使用计数器和嵌套引用实现遍历多个列表变量

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

452d6db8c96a19f07f0bc49d9db6a01
605098b95e2f8c5fe0813a73961ff26
cfc5777051c5366d25324206656af57

可以使用一个列表进行ForEach循环,同时配合计数器获取当前循环次数,也就是遍历次数,根据遍历次数,结合函数拼接或者嵌套引用来达到遍历其他列表的效果。

提取多个列表

image-1666066428630

设置计数器

在场景变量中添加计数器。

image-1666066473977

使用ForEach循环控制器

使用ForEach循环控制器遍历name列表。

image-1666066576940

嵌套引用其他列表和计数器遍历

使用嵌套引用${__BeanShell(vars.get("var_${num}"))},达到遍历多个列表的效果。

image-1666066702428
image-1666066827916
如上图所示,第一个步骤提取的所有列表都在循环控制器中实现了遍历引用。

性能测试中有多个线程时,如何跨线程动态传参

性能测试里动态设置变量可以用属性的方式,${__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中的”启用/禁用“状态而变化。


是否对你有帮助?