如何将jmeter响应存储到数组中以便使用给定的数组发出请求?

时间:2016-08-01 14:28:41

标签: java jmeter

我想创建一个Jmeter测试计划,我需要一个用另一个对象引用创建的对象。我想创建此对象“所有者”100次,并使用响应创建100个“设备”,其中一个字段将是“owner_ref”。

我想创建具有相应ID的设备,例如

ownerId1-->device1
ownerId2-->device2 and so on.

我现在正在使用:

testPlan:
    HttpRequest
        Json Path Postprocessor--> extract 'id' to variable 'ownerId'

如何创建ownerIds数组并遍历此100以使用这些ID创建新请求?

我在考虑使用beanShell,但应该是另一种更简单,更清洁的方法。 谢谢大家!

1 个答案:

答案 0 :(得分:1)

正如JSON Path PostProcessor文档所述,您可以使用Match Numbers参数:

  

-1 表示提取所有结果,它们将被命名为变量 name_N (其中N从1变为结果数)

所以你可以这样配置你的JSON Path PostProcessor:

Variable Names: ownerId
...
Match Numbers: -1

哪个会产生变量:ownerId1,...,ownerIdN

然后你有几个选项,最明显的是使用ForEach Controller完全按照帮助描述

ForEach Controller
 Input variable prefix: ownerId
 Output variable: currentId

所以现在该控制器下的任何采样器都可以使用${currentId}