Jmeter中的ForEach Controller遍历变量数组。
在这个JMeter教程中,我们将使用ForEach控制器循环访问JSON数组。
有时我们需要解析响应并提取某些信息。例如,在测试API时,我们可以获得可能包含JSON数组的JSON响应。
然后,我们需要遍历数组并为每个元素执行一个动作。在JMeter中,我们可以使用ForEach控制器来遍历JSON数组。
有关:
如何使用JMeter ForEach控制器
在此示例中,我们将向返回JSON响应的资源发出GET请求。
响应包含一个JSON对象数组。
对于每个对象,我们需要提取我们可以通过JSONPath执行的URL。
获取上述响应中所有URL的JSONPath是$.[*].url
。一旦我们解析了JSON响应并提取了URL,我们就会得到一个字符串数组,基本上就是URL。
我们将这个数组保存在一个名为url_array的变量中
现在假设对于String数组的每个元素,我们想要对URL发出请求。在JMeter中,这是通过使用ForEach控制器完成的。
要将ForEach控制器添加到测试计划,请右键单击“线程组”>“添加”>“逻辑控制器”>“ForEach控制器”
ForEach控制器需要两个参数:
- 输入变量前缀
- 输出变量名称
的输入变量前缀取数组变量的名称,在该例子中,url_array
。对于输出变量名称,我们将在此示例中分配一个变量,url_index
我们将在后续请求中使用该变量。
然后,在我们的后续请求中,我们可以使用提取每个值 ${url_index}
现在,这将循环遍历JSON数组中的每个条目,并对URL发出HTTP请求。