JMeter - Store/update variable/property 中的 hashmap object
JMeter - Store/update a hashmap object in a variable/property
我需要在 JSR233 sampler
内部创建一个 hash-map,它将包含某些 headers 和我将使用外部 java 实用程序调用的属性元素Java Request Sampler
。我将需要创建许多散列图,因为 key-value 对会根据我正在测试的系统而有所不同。例如,我将不得不为每个 hash-map 更改 JMSReplyTo
、JMSCorrelationID
、$TextBody:
字段。所有这些都是在 one 线程组中完成的,但我可能还想在以后的其他线程组中实现它。
How should I structure my Test Plan? Is it possible to create a global variable that will hold the hash-map? And then inside the respective JSR223 Sampler
, for each test, modify the value of the variable?
我不知道什么时候使用属性,什么时候使用变量。在这种情况下,我希望 1
var 或 属性 在我创建新的 hash-map object 时会在整个 test-plan 中发生变化。我想知道这条路线是否可行,或者是否建议替代方案。
我想在 JMeter 中创建 HashMap object 的原因是因为我不想让 Java 实用程序读取和解析 [=] 的数千个 txt 文件40=] 对(这些值在 每个 txt 文件中有所不同)。
Instead I was wondering if there was a way to create this HashMap
object in Jmeter and store it in a variable/property object that can
be passed as a parameter in my Java Request
.
如果有人指导我正确的方向,我将不胜感激。
而不是使用常规的 get put 操作
vars.get("map"); vars.put("map", map);
您可以对字符串以外的对象使用 get put 操作:
vars.putObject("map", map);
稍后获取地图:
map = vars.getObject("map");
- JMeter 变量是每个 JMeter 线程的本地变量,不能在不同的线程组之间共享。用于保存用户特定的值。可以从 JSR223 Elements 作为
vars
访问,请参阅 JavaDoc 了解所有可用的方法和字段。
- JMeter Properties are "normal" Java properties, they are global for the whole JVM 并且可以从任何线程组中的任何线程访问。
如果您有许多特定于用户的 HashMap,则假设以上 - 去寻找 JMeter 变量。如果你有一个全局 HashMap and/or 你需要从不同的线程组访问它 - 去属性。
我需要在 JSR233 sampler
内部创建一个 hash-map,它将包含某些 headers 和我将使用外部 java 实用程序调用的属性元素Java Request Sampler
。我将需要创建许多散列图,因为 key-value 对会根据我正在测试的系统而有所不同。例如,我将不得不为每个 hash-map 更改 JMSReplyTo
、JMSCorrelationID
、$TextBody:
字段。所有这些都是在 one 线程组中完成的,但我可能还想在以后的其他线程组中实现它。
How should I structure my Test Plan? Is it possible to create a global variable that will hold the hash-map? And then inside the respective
JSR223 Sampler
, for each test, modify the value of the variable?
我不知道什么时候使用属性,什么时候使用变量。在这种情况下,我希望 1
var 或 属性 在我创建新的 hash-map object 时会在整个 test-plan 中发生变化。我想知道这条路线是否可行,或者是否建议替代方案。
我想在 JMeter 中创建 HashMap object 的原因是因为我不想让 Java 实用程序读取和解析 [=] 的数千个 txt 文件40=] 对(这些值在 每个 txt 文件中有所不同)。
Instead I was wondering if there was a way to create this HashMap object in Jmeter and store it in a variable/property object that can be passed as a parameter in my
Java Request
.
如果有人指导我正确的方向,我将不胜感激。
而不是使用常规的 get put 操作
vars.get("map"); vars.put("map", map);
您可以对字符串以外的对象使用 get put 操作:
vars.putObject("map", map);
稍后获取地图:
map = vars.getObject("map");
- JMeter 变量是每个 JMeter 线程的本地变量,不能在不同的线程组之间共享。用于保存用户特定的值。可以从 JSR223 Elements 作为
vars
访问,请参阅 JavaDoc 了解所有可用的方法和字段。 - JMeter Properties are "normal" Java properties, they are global for the whole JVM 并且可以从任何线程组中的任何线程访问。
如果您有许多特定于用户的 HashMap,则假设以上 - 去寻找 JMeter 变量。如果你有一个全局 HashMap and/or 你需要从不同的线程组访问它 - 去属性。