如何迭代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。
迭代如:
我尝试了一些方法,比如使用 forEach,但我没有任何运气。
以下答案假定您的回答是有效的 JSON,看起来像:
{
"status": 200,
"data": {
"name": "Manikyam",
"selected_products": [ 1, 2, 3, 4, 5 ]
}
}
将JSON Extractor添加为上述returns请求的子JSON并配置如下:
- 创建变量的名称:任何有意义的,即
product
- JSON 路径表达式:
$.data.selected_products.*
- 匹配号:
-1
添加ForEach Controller配置如下:
- 输入变量前缀:
product
- 输出变量名:
product
就是这样,如果您添加一个 Sampler 作为 ForEach 控制器的子级,控制器将迭代所有变量,这样您就可以将每个变量都引用为 ${product}
需要时如 http://dummy.com/product/${product}
演示:
我从一个 API 得到数组响应,然后将响应传递给另一个 API。 例如: 一个 API 的响应是 {status:200,data:{name:"Manikyam", selected_products:[1,2,3,4,5]}
我需要使用 foreach 或其他适用的循环从响应中迭代 selected_products。
迭代如:
我尝试了一些方法,比如使用 forEach,但我没有任何运气。
以下答案假定您的回答是有效的 JSON,看起来像:
{
"status": 200,
"data": {
"name": "Manikyam",
"selected_products": [ 1, 2, 3, 4, 5 ]
}
}
将JSON Extractor添加为上述returns请求的子JSON并配置如下:
- 创建变量的名称:任何有意义的,即
product
- JSON 路径表达式:
$.data.selected_products.*
- 匹配号:
-1
- 创建变量的名称:任何有意义的,即
添加ForEach Controller配置如下:
- 输入变量前缀:
product
- 输出变量名:
product
- 输入变量前缀:
就是这样,如果您添加一个 Sampler 作为 ForEach 控制器的子级,控制器将迭代所有变量,这样您就可以将每个变量都引用为
${product}
需要时如http://dummy.com/product/${product}
演示: