如何在JSON响应中访问嵌套数组值,并在JMeter中的下一个服务的循环中使用它们

时间:2016-07-18 15:48:05

标签: jmeter

我正在开发一个提供JSON响应的POST服务。 我必须从JSON响应中提取某些值。示例 -

`{
  "Result":
   {  "Id":22
      "StartTime":
      "EndTime":
      "RoutePoints": 
            [{ "Id":675,
             }
             { "Id":676,
             }
            ]
  } 
}    `

我的第一部分问题 - 我如何参考" Id" " RoutePoint"内的变量数组使用正则表达式提取器?我可以简单地使用" Id",但我也有一个" Id"在" RoutePoint"之外的变量;阵列。

Secondly- 我如何选择" Id"每次在以下服务中循环运行它们?示例 - 我采用" Id = 675"并执行一项工作,然后采取" Id = 676"并执行相同的工作。请尽可能详细,我是JMeter的新手。

1 个答案:

答案 0 :(得分:0)

我建议使用自JMeter 3.0以来可用的JSON Path PostProcessor

将JSON Path PostProcessor添加为请求的子节点,该请求返回JSON以上并按如下方式对其进行配置:

  • 变量名称:任何有意义的内容,即Id
  • JSON路径表达式:$..RoutePoints.*.Id
  • 匹配号码:-1

您应该获得如下变量:

Id_1=675
Id_2=676
Id_matchNr=2

适合与ForEach Controller

进行迭代

演示:

JSON Path Extractor

参考文献: