如何在JMeter中使用ForEach控制器

Jmeter中的ForEach Controller遍历变量数组。

在这个JMeter教程中,我们将使用ForEach控制器循环访问JSON数组。

有时我们需要解析响应并提取某些信息。例如,在测试API时,我们可以获得可能包含JSON数组的JSON响应。

然后,我们需要遍历数组并为每个元素执行一个动作。在JMeter中,我们可以使用ForEach控制器来遍历JSON数组。

有关:

如何使用JMeter ForEach控制器

在此示例中,我们将向返回JSON响应的资源发出GET请求。

ForEach Controller JMeter

响应包含一个JSON对象数组

ForEach Controller JMeter

对于每个对象,我们需要提取我们可以通过JSONPath执行的URL。

获取上述响应中所有URL的JSONPath是$.[*].url一旦我们解析了JSON响应并提取了URL,我们就会得到一个字符串数组,基本上就是URL。

我们将这个数组保存在一个名为url_array的变量中

ForEach Controller JMeter

现在假设对于String数组的每个元素,我们想要对URL发出请求。在JMeter中,这是通过使用ForEach控制器完成的。

要将ForEach控制器添加到测试计划,请右键单击“线程组”>“添加”>“逻辑控制器”>“ForEach控制器”

ForEach控制器需要两个参数:

  • 输入变量前缀
  • 输出变量名称

输入变量前缀取数组变量的名称,在该例子中,url_array 。对于输出变量名称,我们将在此示例中分配一个变量,url_index我们将在后续请求中使用该变量

ForEach Controller JMeter

然后,在我们的后续请求中,我们可以使用提取每个值 ${url_index}

ForEach Controller JMeter

现在,这将循环遍历JSON数组中的每个条目,并对URL发出HTTP请求。

posted @ 2019-03-02 17:21  DaisyLinux  阅读(3524)  评论(0编辑  收藏  举报