JMeter(九)逻辑控制器

文章目录

  • 1、If 控制器
  • 2、事务控制器
  • 3、循环控制器
  • 4、While循环控制器
  • 5、ForEach控制器
  • 6、交替控制器
  • 7、仅一次控制器
  • 8、随机控制器
  • 9、随机顺序控制器
  • 10、Runtime控制器
  • 11、简单控制器
  • 12、吞吐量控制器
  • 13、Switch控制器

1、If 控制器

满足条件时,执行控制器下的请求;不满足则不执行
JMeter(九)逻辑控制器_第1张图片
参数说明:
use status of last sample

  • 勾选后,上一请求执行失败时,不执行该控制器下的请求
  • 不勾选,上一请求执行失败时,仍然执行该控制器下的请求

interpret condition as variable expression

  • 勾选时,expression中不能直接填写条件表达式,需要借助函数(_jexl3或_groovy),表达式结果必须是是true或者false
  • 不勾选时,判断 表达式是否正确,不必为true或false

evaluate for all children

  • 勾选后,执行循环中每个请求之前,都要校验一下表达式
  • 不勾选后,执行循环中每个请求之前,不会校验一下表达式

2、事务控制器

作用:可用于计算执行控制器下的请求 所花费的总时间,即相当于用户进行一系列操作的测试,只有整个事务控制器下的请求执行成功,才算成功
JMeter(九)逻辑控制器_第2张图片
参数说明:
Generate Parent Sample:

  • 如果选中,则生成样本作为其他样本的父项,如下
    JMeter(九)逻辑控制器_第3张图片
    JMeter(九)逻辑控制器_第4张图片
  • 不勾选,则样本将作为独立样本生成,如下
    JMeter(九)逻辑控制器_第5张图片
    JMeter(九)逻辑控制器_第6张图片
    Include duration of timer and pre-post processors in generated sample:
    是否在生成的样本中包括计时器,预处理和后处理延迟。默认值为false。一般不建议选择,因为选择会把一些额外时间算入总时间
    JMeter(九)逻辑控制器_第7张图片

3、循环控制器

指定循环控制器内取样器的执行次数
JMeter(九)逻辑控制器_第8张图片

4、While循环控制器

循环控制器仅能定义循环次数,缺乏判断能力。While控制器正好弥补了这方面的不足, 既能循环又能逻辑判断
JMeter(九)逻辑控制器_第9张图片

  • 条件为:最后一个请求执行失败时,退出循环(看了大部分文章都是说执行某次请求失败退出循环,经实测这是不对的!)
  • 条件为**“LAST”**:如果控制器外的上一个节点运行失败,则不再执行该控制器;否则继续执行,与参数为空的情况一致
  • 条件为其他:不满足条件时,退出循环(需要经过__jexl3函数进行转换,可以使用函数助手生成表达式)

5、ForEach控制器

通过用户定义变量的参数个数来决定请求的迭代次数。需要与用户自定义变量配合使用
JMeter(九)逻辑控制器_第10张图片
格式:名称_序号
JMeter(九)逻辑控制器_第11张图片
输入变量前缀: 用户自定义的变量的前缀
开始循环索引(不包含): 遍历变量开始的索引
结束循环索引(含): 遍历变量结束的索引
输出变量名称: 定义要被引用的变量名称

6、交替控制器

JMeter(九)逻辑控制器_第12张图片

  • 2个线程循环1次
    JMeter(九)逻辑控制器_第13张图片
  • 1个线程循环2次
    JMeter(九)逻辑控制器_第14张图片
  • 2个线程循环2次JMeter(九)逻辑控制器_第15张图片
  • 不勾选忽略子控制器块
    1个线程循环3次, 循环控制器设置循环3次JMeter(九)逻辑控制器_第16张图片
  • 勾选忽略子控制器块
    1个线程循环3次, 循环控制器设置循环3次
    JMeter(九)逻辑控制器_第17张图片
    所以勾选忽略子控制块时,控制器失效
  • 交替控制器的嵌套
    以控制器为1个小单元,交替执行
    JMeter(九)逻辑控制器_第18张图片

7、仅一次控制器

每个线程无论循环多少次,该控制器下只执行一次

  • 1个线程循环2次
    JMeter(九)逻辑控制器_第19张图片

8、随机控制器

随机运行控制器下的某一个请求
JMeter(九)逻辑控制器_第20张图片

9、随机顺序控制器

与“随机控制器”的区别:执行随机顺序控制器时,每个请求都会执行,只是顺序会随机

  • 1个线程循环1次
    JMeter(九)逻辑控制器_第21张图片

10、Runtime控制器

该控制器下的接口,执行设定的时长后,跳出控制器,继续向下执行。
JMeter(九)逻辑控制器_第22张图片

11、简单控制器

分组作用
JMeter(九)逻辑控制器_第23张图片

12、吞吐量控制器

Total Executions: 设置运行次数
Percent Executions: 设置运行比例(1~100之间)
Per User: 线程数。勾选后不需要填吞吐量

  • 当选Total Executions时,是线程数
  • 当选percent Executions时,是线程数*循环次数
    JMeter(九)逻辑控制器_第24张图片

13、Switch控制器

通过Switch Value值来控制执行该控制器下哪个请求

  • 可填索引值、请求名称、函数
  • 为空时,默认第一个请求
  • 无效内容则不执行
    JMeter(九)逻辑控制器_第25张图片

你可能感兴趣的:(Jmeter,jmeter)