如何迭代JMeter中的foreach循环

How to iterate the foreach loop in JMeter

我从一个 API 得到数组响应,然后将响应传递给另一个 API。 例如: 一个 API 的响应是 {status:200,data:{name:"Manikyam", selected_products:[1,2,3,4,5]}

我需要使用 foreach 或其他适用的循环从响应中迭代 selected_products。

迭代如:

http://dummy.com/product/1

http://dummy.com/product/2

http://dummy.com/product/3

http://dummy.com/product/4

http://dummy.com/product/5

我尝试了一些方法,比如使用 forEach,但我没有任何运气。

以下答案假定您的回答是有效的 JSON,看起来像:

{
  "status": 200,
  "data": {
    "name": "Manikyam",
    "selected_products": [ 1, 2, 3, 4, 5 ]
  }
}
  1. JSON Extractor添加为上述returns请求的子JSON并配置如下:

    • 创建变量的名称:任何有意义的,即product
    • JSON 路径表达式:$.data.selected_products.*
    • 匹配号:-1
  2. 添加ForEach Controller配置如下:

    • 输入变量前缀:product
    • 输出变量名:product
  3. 就是这样,如果您添加一个 Sampler 作为 ForEach 控制器的子级,控制器将迭代所有变量,这样您就可以将每个变量都引用为 ${product} 需要时如 http://dummy.com/product/${product}

演示: