JMeter自定义Java采样器:如何访问beanshell采样器中构造的hashmap?

时间:2018-02-13 20:49:43

标签: jmeter beanshell

我创建了一个自定义jmeter java sampler,它在循环中向HTTP端点发送请求并解析响应。期望多个线程在单个线程组中运行此采样器。

请求使用ID进行参数化,我需要每个线程在hashmap中查找随机名称到ID映射。我想在测试开始时从csv文件加载映射。

有人建议我可以在设置线程组中使用beanshell采样器从csv中读取,创建hashmap,并使用类似props.put()的内容将其存储在JMeter属性中。有人可以告诉我这是否是一种合理的方法,如果是这样,我如何访问自定义采样器中的特定JMeter属性?

我找到了这个答案:Single thread initialization for Jmeter with multiple sampler暗示了我想做的事情,但没有提供详细信息。

1 个答案:

答案 0 :(得分:-1)

但是since JMeter 3.1 it is recommended to use JSR223 Test ElementsGroovy language适用于任何形式的脚本。

因此,在JSR223 Sampler中,您可以使用props.put('foo', myMap),在Java Request中,您可以将其引用为:

Map myMap = (HashMap)context.getJMeterProperties().get("foo");