Jmeter系列(37)- 详解 ForEach控制器

简介: Jmeter系列(37)- 详解 ForEach控制器

如果你想从头学习Jmeter,可以看看这个系列的文章哦

https://www.cnblogs.com/poloyy/category/1746599.html

 

前言


  • ForEach 控制器一般和用户自定义变量/JDBC结果变量一起使用,用于可以遍历读取相关的返回值
  • 该控制器下的 Samplers 和控制器都会被执行一次或多次,每次读取不同的变量值
  • ForEach 控制器和正则提取器是个好搭档,因为正则提取出来的变量值会用_分隔,而 ForEach 可以省略 _

 

ForEach


image.png


ForEach 界面介绍


image.png


字段含义

字段 含义
Input Variable Prefix 输入变量名的前缀,默认为一个空字符串作为前缀。
Start index for loop(exclusive)
  • 循环开始的索引
  • 不包括此值
  • 默认从 1 开始
  • 填 0 则起始索引是 1,填 1 则是 2
End index for loop(inclusive)
  • 循环结束的索引
  • 包括此值
  • 填 100 则结束索引是 100
Output variable
  • 输出的变量名
  • 在后续循环中,samplers 可使用的变量名
Add”_”before number
  • 输入变量名和引之间是否有 _ 间隔
  • 不勾选的话,则输入变量名和索引直接相连

 

ForEach 结合用户自定义变量的栗子


线程组树结构

image.png


线程组,只有一个线程

 

用户自定义变量

image.png


一共有四个

 

ForEach

image.png


前缀为 name 的有四个变量,所以循环四次

 

运行结果

image.png

直接取空即可 ${}

 

ForEach 不勾选 Add”_”before number 的栗子


线程组树结构

image.png

image.png


ForEach 结合 JDBC Request 的栗子一


线程组树结构

image.png


JDBC 一共返回 100 条数据,这里我们是通过 Variable names 去接住所有数据,对应有 100 个变量(mobile_1 到 mobile_100)

 

ForEach

image.png

循环 100 次,输入变量 mobile_1 - mobile_100 并输出为 new_mobile_1 - new_mobile_100

 

运行结果

image.png


ForEach 结合 JDBC Request 的栗子二


线程组树结构

image.png

  • 这里通过 Result Variable name 去接住所有数据,只有一个变量,是无法循环的
  • 所以我们需要通过正则提取器将需要的 mobile 字段的值提取出来

 

正则提取器

image.png

关于正则提取器更多知识点可看:https://www.cnblogs.com/poloyy/p/13179150.html

 

正则提取结果

image.png

我们要的其实是箭头的那些,但是正则会提取不必要的字段值(如:mobile_new_11_g0),所以注意 ForEach 的输入变量前缀要写正确

 

ForEach

image.png

循环 100 次,输入变量 mobile_new_1 - mobile_new_100 并输出为 mobile_1 - mobile_100

 

运行结果

image.png


相关文章
|
JSON Java 测试技术
Jmeter--控制器--详解(1),技术协会Python部面试
Jmeter--控制器--详解(1),技术协会Python部面试
|
测试技术 API Apache
使用 Apache JMeter 吞吐量控制器的详细指南
Apache JMeter是开源的负载和性能测试工具,其吞吐量控制器用于控制采样器执行频率以达到特定吞吐量。要使用它,首先启动JMeter,创建测试计划,添加线程组和逻辑控制器。配置吞吐量控制器的参数,如总执行次数或百分比,并添加HTTP请求采样器。例如,创建两个控制器,一个设定执行次数,另一个设定执行百分比。通过监听器如汇总报告和查看结果树来分析测试结果,从而模拟不同负载并识别性能瓶颈。吞吐量控制器是实现复杂测试场景的关键组件。
|
测试技术 Apache 数据安全/隐私保护
使用 Apache JMeter 事务控制器的详细指南
Apache JMeter 的事务控制器用于组合多个请求成一个事务,以便衡量整体性能。创建测试计划涉及添加线程组、事务控制器和采样器,配置参数如线程数、Ramp-Up时间和循环次数。在事务控制器内,添加HTTP请求模拟用户登录和访问主页等操作。通过勾选选项,包括计时器和处理器时间。添加监听器如汇总报告和查看结果树来分析结果,从而评估系统性能瓶颈。事务控制器对于测试复杂业务流程的性能非常有用。
|
编解码 Java API
Jmeter--控制器--详解,2024年最新系统学Python从零开始
Jmeter--控制器--详解,2024年最新系统学Python从零开始