JMeter-在变量/属性中存储/更新哈希图对象


问题内容

我需要在中创建一个哈希映射,JSR233 sampler其中将包含我将使用调用的外部Java实用程序的某些标头和属性元素Java Request Sampler。我将需要创建许多哈希图,因为键值对将根据我测试的系统而有所不同。例如,我将不得不更改每个哈希映射JMSReplyToJMSCorrelationID$TextBody:字段。所有这些都是在
一个 线程组中完成的,但是我可能还想在以后的其他线程组中实现它。

我应该如何制定测试计划?是否可以创建一个保存哈希图的全局变量?然后在各自的内部JSR223 Sampler,为每个测试修改变量的值?

我不知道什么时候使用 属性 ,什么时候使用 变量
。在这种情况下,我希望1在创建新的哈希映射对象时,在整个测试计划中都会更改的var或property。我想知道这条路线是否可行,或者是否有其他建议。

我之所以要在JMeter中创建HashMap对象,是因为我不想拥有数千个Java实用程序将为键值对读取和解析的txt文件( 每个
txt文件中的值都不同)。

相反,我想知道是否有办法在Jmeter中创建此HashMap对象并将其存储在变量/属性对象中,该对象可以作为 参数 传递给my Java Request

如果有人向正确的方向指引我,我将不胜感激。


问题答案:

而不是使用常规的get put操作

 vars.get("map"); vars.put("map", map);

您可以对字符串以外的对象使用get put操作:

 vars.putObject("map", map);

并稍后获取地图:

 map = vars.getObject("map");