Jmeter-几种常用的逻辑控制器

11、 Jmeter 逻辑控制器

概念: Jmeter逻辑控制器是可以控制采样器(Sampler)的执行顺序,它由多个逻辑控制语句封装成不同功能的组件组成

作用域:
只对其子节点的sampler有效

11.1 如果(If)控制器

作用: 条件成真,则执行控制器下所有取样器

if控制器参数配置图
在这里插入图片描述

  1. 条件:"${foruser}"==“李四”
  2. 表达式:
    在这里插入图片描述
  1. 注意:
    1. 引用变量格式${name}需要被双引号括起来
    2. 两个等号
    3. 值需要被双引号括起来
      Expression(must evaluate true or false)输入框,此处需写入要进行判断的表达式,从must evaluate true or false可知,实际使用时,只能填入true或者false这样的值,因此我们需要借助其他模块或者函数将需要进行判断的表达式 “${foruser}” == “李四” 转换成true或false,判断才能生效,直接写入Expression中是无效的。
      可以借助__jexl3或者__groovy函数来计算表达式的值。

察看结果树: 满足条件才执行if逻辑器下的请求
在这里插入图片描述

11.2 ForEach控制器

作用: ForEach控制器一般和用户定义的变量一起使用,在用户自定义变量中读取一系列相关的变量;

操作步骤:

1.测试计划->线程组

2.线程组->用户定义的变量

3.线程组->ForEach控制器

4.ForEach控制器->HTTP请求

5.测试计划->察看结果树

重点解析:

1. ForEach控制器参数设置
在这里插入图片描述

  1. 输入前缀变量:输入要遍历变量前缀
  2. Start index for loop(exclusive):遍历变量开始的索引(从0开始算,不包括开始索引))
  3. End index for loop(inclusive):遍历变量结束的索引(包括结束索引)
  4. 输出变量名称:定义要被引用的变量名称

2. 用户定义的变量书写格式 (前缀+_+数字)
在这里插入图片描述

11.3 循环控制器

作用: 指定循环控制器内取样器的执行次数

11.4 事务控制器

释义: 事务控制器会生成一个额外的采样器来测量其下测试元素的总体时间。

示例图:
在这里插入图片描述
在这里插入图片描述

11.5 Switch控制器

作用: Switch控制器通过给该控制器中的Value赋值,来指定运行哪个采样器。

两种赋值方式:

第一种是数值,Switch控制器下的子节点从0开始计数,通过指定子节点所在的数值来确定执行哪个元素

第二种是直接指定子元素的名称,比如采样器的Name来进行匹配。当指定的名称不存在时,不执行任何元素。

当Value为空时,默认执行第1个子节点元素

示例图:
在这里插入图片描述

在这里插入图片描述

11.6 While控制器

作用:
运行其子节点下的取样器/控制器,直到条件为“假”

解析:
在这里插入图片描述

Controller的条件的三种情况:

(Condition) 为空 :直到最后一个sample请求失败,才会退出循环

(Condition) 为 LAST :
如果while controller的上一个节点运行失败,则不再执行while controller;否则继续执行,与参数为空的情况一致

(Condition) 为 其他 :条件值等同于字符串"false"(等同于输入框中输入false)时,退出循环。
需要经过__jexl3函数进行转换,可以使用函数助手生成表达式)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值