JMeter元件详解之ForEach Controller 逻辑控制器

Posted 七月的小尾巴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter元件详解之ForEach Controller 逻辑控制器相关的知识,希望对你有一定的参考价值。

JMeter 逻辑控制器可以对元件的执行逻辑进行控制,除仅一次控制器外,其他控制器下可以嵌套别的种类的逻辑控制器。下面是JMeter逻辑控制器的种类:

在这里插入图片描述
ForEach Controller(循环控制器)
ForEach Controller 即循环控制器,顾名思义是定义一个循环规则。参数说明如下
在这里插入图片描述

  1. 名称:控制器名称,可以随意设置,甚至可以为空
  2. 注释:可以随意设置,可以为空
  3. 输入变量前缀:可以再“用户自定义变量”中定义一组变量,循环控制器可以从中获取到变量对应的值,然后作为循环控制器的循环条件,还可以输出变量作为取样区的参数。
  4. 开始循环字段:循环变量下标起点
  5. 结束变量字段:循环变量下标终点
  6. 输出变量名称:循环控制器生成的变量名称
  7. 数字之前加上下划线“”?:变量前缀是否加上""作为分隔符

设想一下,有这样一个业务:
比如在订单查询页面,我们需要查询了订单号,然后要对每一条订单进行出库,此时我们需要遍历每一条订单,是不是可以订单号作为循环?
此时我们就可以用正则表达式提取器提取到订单号,然后用ForEach Controller 来循环处理订单的出库操作。

下面我们以登录接口为例,假设我现在需要同时登录3个账号

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
下面我们再来看一个例子。
首先我们访问一个网页,然后使用正则表达式提取这个页面的所有链接,然后用 ForEach Controller 来循环遍历所有的链接。这是不是有点像我们自动化测试中的Monkey 测试呢?

(1)这里为了方便大家学习,我们以JMeter的官网为例,首先我们创建一个http请求,去访问 JMeter的官网
在这里插入图片描述
(2)正则表达式提取第一步操作返回的所有连接。
在这里插入图片描述
(3)添加一个ForEach Controller 逻辑控制器
在这里插入图片描述
(4)在ForEach Controller 逻辑控制器中添加一个http请求,访问由ForEach Controller 传递过来
在这里插入图片描述
然后我们再添加一个监控器查看结果数,运行脚本,我们可以jmeter自动访问了链接。

在这里插入图片描述

以上是关于JMeter元件详解之ForEach Controller 逻辑控制器的主要内容,如果未能解决你的问题,请参考以下文章

JMeter元件详解之Throughtput Controller 吞吐量控制器

JMeter元件详解之If Controller 条件控制器

JMeter元件详解之 Runtime Controller运行时间控制器

JMeter元件详解之Simple Controller简单控制器

JMeter元件详解之 Interleave Controller 交替控制器

JMeter元件详解之 While Controller条件控制器