我的j-meter测试计划中有一个线程组,并且我想预先初始化两个映射。喜欢
java.util.HashMap myMap1 = new java.util.HashMap();
myMap1.put("foo1","bar1");
myMap1.put("foo2","bar2");
java.util.HashMap myMap2 = new java.util.HashMap();
myMap2.put("mykey",myMap1);
我必须将其用于不同的线程。有人可以帮我解决这个问题吗?
根据您用于脚本编写的测试元素的不同,可能有2个选项:
如果您使用Beanshell Sampler-最简单的选择是将bsh.shared命名空间用作
在第一个线程组中:
Map myMap1 = new HashMap();
myMap1.put("foo","bar");
bsh.shared.myMap = myMap1;
在第二个线程组中:
Map myMap1 = bsh.shared.myMap;
log.info(myMap1.get("foo"));
更“通用”的方式是使用JMeter属性。可以props
在任何启用脚本的测试元素(JSR223 Sampler,BSF Sampler等)中使用JMeter Properties当前实例的简写,它基本上是java.util.Properties类的实例,因此它具有put()方法,该方法可以接受任意Java对象作为值。所以
在第一个线程组中:
Map myMap1 = new HashMap();
myMap1.put("foo","bar");
props.put("myMap", myMap1);
在第二个线程组中:
Map myMap1 = props.get("myMap");
log.info(myMap1.get("foo"));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句