逻辑控制器

一、前言
  JMeter中的Logic Controller用于为Test Plan中的节点添加逻辑控制器。JMeter中的Logic Controller 分为两类:一类用来控制Test Plan 执行过程中节点的逻辑执行顺序,如: Loop Controller. If Controller等;另-类则与节点逻辑执行顺序无关, 用于对Test Plan中的脚本进行分组、方便JMeter
二、逻辑控制器
1.控制Test Plan中的节点执行顺序的Logic Controller
  1.1 ForEach Controller
  
添加-配置元件-用户自定义变量,定义变量注意命名格式:变量名+下划线+数字(从1开始计数)之所以这样命名是为了满足以后ForEach控制器提取数据。
  添加-逻辑控制器-ForEach控制器
  编辑foreach控制器
  变量前缀: 就是刚才我们定义用户自定义变量下划线前面的字符串
  游标位置为4结束(但是不包括5) , 所以会从数组变量的第二位开始,遍历3次,即:51zxw2, 51zxw3,51zxw4,
1.2 If Controller
  类似于编程语言中的if语句,根据给定表达式的值决定是否执行该节点下的子节点。
  注意:
  • 如果选中"Evaluate for all Children" 选项,则该Controller在每个子节点执行时执行一次,否则,该Controller仅在入口执行一次。

  1.3 Interleave Controller (交替控制器)

  许每个子Controller 一次发出一个请求。

  1.4 Loop Controller : (循环控制器)

  

  1.5 Once Only Controller (仅一次控制器)

  要执行一次"登录"操作)。如:将Once Only Controller 作为Loop Controller 的子节点, Once Only Controller在每次循环的第一次迭代时均会被执行。

  1.6 Random Controller

  每次执行时,从其子节点中随机选取一个来执行

  1.7 Random Order Controller ( 随机顺序控制器)

  之处在于, Random Controller只选择执行其所有子节点中的一个,而Random Order Controller则按照随机顺序全

1.8 Switch Controller

  类似程序语言中的switch函数,该Controller根据给定的值n(可以使用参数)选择执行其下的第n+1个子节

1.9 While Controller

  该控制器是另一一个用于控制循环的Contoller。可以为该Controller设置一个Conditior(条件)其中 Condition

<1>空:如果Condition取值为空,则该Condition迭代执行Controller下的所有子节点,直到最后一个子节Controller不会停止,而会继续循环执行过程。

  

达式的取值是字符串false , While Controller就退出循环。以下列出了几个可用的表达式:

  ${VAR} :当参数VAR的值被设置成false时退出循环。

  

非控制Test Plan中的节点执行顺序的Logic Controller

  

事务控制器会生成一个额外的采样器来测量其下测试元素的总体时间。 值得注意的是, 这个时间包含该控制器

原文地址:https://www.cnblogs.com/huainanhai/p/12253092.html