逻辑控制器

——————————————————判断条件————————————————

If控制器:

  • 类似与python中的if判断
  • 尽量用__jexl3、__groovy函数生成表达式来作为判断条件(此时,必须勾选【interprent conditions as variable expression?】选项)

 

 

While控制器:

  • 其下的节点将一直运行,直到while的条件为false
  • condition:填写判断条件,如:${value1}<10

ForEach控制器:

  • 从正则表达式取到的数组(a)中循环取值,然后赋值给另一个变量(b)
  • start index for loop:循环变量下标起点(jmeter变量下标,不是数组下标)
  • end index for loop:循环变量下标终点

Switch控制器:

  • switch value:根据输入值匹配下面的取样器名称,找相同的来执行,没有就不执行
    • 如果值是数字:
      • 则根据取样器排列顺序选择哪个执行(从上到下为0,1,2...)
    • 如果值是字符:
      • 字符同名的取样器 > 名为default的取样器 > 不执行

 

——————————————————导入——————————————————

 

Include控制器:

  • 类似于python中的import,导入封装的通用方法
  • 用于导入jmeter的测试片段(.jmx格式,不能包含线程组,只能包含简单控制器和控制器下的元件)

 

 

模块控制器:

  • 类似include控制器,但是只能引用逻辑控制器及其下的所有元件
  • 与include控制器相同:
    • 都是引用一段测试脚本,方便维护和减少重复代码
  • 与include控制器不同:
    • include引用的是jmx脚本(从jmeter外部引用)
    • 模块控制器是从当前的测试计划中引用(内部引用)

 

—————————————————执行顺序—————————————————

 

Interleave控制器:

  • 交替控制器,其下的节点会交替执行
    • 其下有A,B,C三个节点,运行4次,结果是:A+其他,B+其他,C+其他,A+其他
  • 忽略子控制器:其下子控制器功能失效
  • interleave across threads:线程交叉,若勾选:
    • 设置3个线程A、B、C,循环次数为3,取样器为3(请求1,请求2,请求3)
    • 结果为:请求1,请求2,请求3,请求2,请求3,请求1,请求3,请求1,请求2
    • 第一组为A的结果,第二组为B的结果,第三组为C的结果
    • 线程顺序:取前一个线程第一次执行+1的取样器作为自己的第一次执行位置
  • 复杂用法:两个交替控制器串行使用
  • 主要用来模拟,一个操作组合(类似与列表),按照顺序执行,每次取一个操作出来参与测试计划执行,要执行完整个测试计划再循环才会取下一个操作

 

 

随机控制器:

  • 其下的节点随机运行,类似于交替控制器
  • 与交替控制器不同:
    • 每次运行随机抽取其下的一个元件运行,所以最后可能不是所有的元件都会被遍历到
    • 有可能一个元件运行多次
    • 主要用来模拟,一系列操作中随机抽一个执行参与测试计划

 

 

随机顺序控制器:

  • 其下的节点随机运行,类似于随机控制器
  • 与随机控制器不同:
    • 首先将随机顺序控制器下的所有元件都无规则运行一遍,再运行测试计划中其他操作
    • 一个是随机抽一个运行再运行其他,一个是随机运行全部再运行其他
    • 主要用来模拟,一系列操作执行时随机组合遍历后参与测试计划

 

—————————————————执行次数—————————————————

 

仅一次控制器:

  • 只运行一次,常用于获取cookie

 

循环控制器:

  • 控制其下元件执行次数
  • 勾选为永远则不会停止
  • 执行次数 = 线程组数量 * 循环次数 * 控制器执行次数参数

 

 

吞吐量控制器:

  • 用来控制其下元件的执行次数
  • Percent executions:按照百分比控制
    • 使用这个模式Per user是否勾选都不影响结果
    • 实际执行数量 = 线程数 * 循环次数 * percent设置参数(%)
  • Total executions:按照数量来控制
    • 使用这个模式Per user参与计算
    • 实际执行数量 = total设置参数(线程数 * 循环次数 > total设置设置)
    • 实际执行数量 = 实际执行数量(线程数 * 循环次数 < total设置设置)
  • Per user:是否让线程数量参与计算
    • 勾选后根据线程数(用户数)来控制每个都用户数都需要执行n(设置的参数)次
    • 举例:
      • total参数为7,线程数为2,循环次数为10
      • 应该执行数量 = 2*10
      • 勾选Per user,实际执行结果为2*7=14
      • 不勾选Per user,实际执行结果为1*7=7
  • 思考:
    • 这个控制器是在线程组总执行数量下控制内部元件的执行次数
    • 与【仅一次控制器】功能相同,只不过这个控制数量是大于1次的情况

 

—————————————————其他———————————————————

 

简单控制器:

  • 主要作为一个分组使用,如果禁用该控制器,则该分组下所有请求都被禁用
  • 在结果树中不显示分组,该控制器下所有取样器都正常排列展示
  • 无参数

 

录制控制器:

  • 录制脚本时使用的控制器
  • 可以用简单控制器替代

 

Runtime控制器:

  • 用于控制子元素执行时长(单位为秒)
  • 默认为1S,如果为0,则不执行

 

 

事务控制器:

  • 将其下的取样器消耗时间加在一起,方便统计
  • Generate parent sample:是否在生成结果(聚合报告)时生成一个事务控制器结果(将其下取样器结果加和),不勾选则只展示每个取样器的结果
  • Include duration of timer and pre-post processors in generate sample:是否将定时器的延迟时间也加入统计,一般不选

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值