Jmeter循环控制器 ForEach Controller

Jmeter循环控制器 ForEach Controller

一、ForEach Controller界面

ForEach Controlle 元素 ForEach Controlle 功能
Name 定义ForEach Controlle 名称
Comments 注释 描述ForEach Controlle在业务中的作用 
Input variable prefix

输入变量前缀

可以在用户自定义变量中定义变量,循环控制器引用定义的变量作为循环条件。

Start index for loop

循环变量起点

这里指的是Input variable prefix一组变量中,设置从第几个变量开始读取。

End index for loop

循环变量终点

这里指的是Input variable prefix一组变量中,设置到第几个变量结束读取。

Output variable name 循环控制器生成的变量名称
Add“_” before number? 变量前缀后面是否加“_”分隔符

 二、ForEach Controller 实例

@ForEach Controller应用场景及实现原理

ForEach Controller循环控制器使用场景:当前后两个业务请求时,后一个请求的循环次数不是固定次数,而是根据上一个请求每次动态的输出结果个数作为下一个请求循环次数这样的场景就需要用到ForEach控制器。

ForEach控制器的Input variable prefix接收上个请求的变量,并通过Output variable name 输出变量给下一个请求,实现对下面请求循环次数控制。

例如:在订单查询请求中,用正则表达式提取订单号,并将订单号变量输入到循环控制器的Input variable prefix,利用Output variable name 作为输出变量,在结账请求中引用循环控制器的输出变量。实现结账请求能够根据查询到订单号判断循环的次数。

@ForEach Controller实例介绍

用户自定义变量中添加变量,ForEach Controller 循环控制器的Input variable prefix 引用“用户自定义”变量,Output variable name 输出一个变量,作为循环控制器里面请求的入参。通过变量个数作为循环条件达到控制循环次数。

@添加用户自定义配置元件,新增一组变量。

访问路径:线程组或控制器右键点击Add--config Element--User definend Variables

@ForEach Controller 循环控制器Input variable prefix 引用“用户自定义”变量,同时输出一个变量名称

@ 在ForEach Controller循环控制器下面添加一个请求,引用循环控制器输出的变量。

@输出测试结果

用户自定义变量中定义了13个变量数据,通过循环控制器遍历用户自定义中的变量,一共执行了13次请求。

 

设置循环控制器的循环变量起点和循环变量终点来限制循环次数。

@运行结果

循环控制器设置来从变量0下标开始,到变量下标3结束。分别读取变量下标的0,1,2位置,对应取到的数据是T1,T2,T3