写点什么

JMeter 笔记 17 | JMeter 逻辑控制器简介

作者:虫无涯
  • 2023-08-03
    陕西
  • 本文字数:1080 字

    阅读完需:约 4 分钟

  • 逻辑控制器可以对元件的执行逻辑进行控制;

  • 逻辑控制器下可以嵌套别的逻辑控制器(一次控制器除外);

  • 如图:


1 ForEach Controller

  • 遍历循环控制器;

  • 参数如下:



  • 一般配合正则表达式提取器来一起使用,可对页面上的某些元素进行重复处理。

2 Simple Controller

  • 简单控制器;

  • 提供一个块的结构和控制,不具有任何的逻辑控制和运行时的功能,比如可做分组功能;

  • 参数如下:



3 Loop Controller

  • 循环控制器;

  • 指定其子节点运行的次数;

  • 参数:



4 Include Controller

  • 包含控制器;

  • 用来导入外部的测试片段(非完整的测试计划);

  • 被导入的测试计划不能有线程组,只能包含简单控制器及控制器下的元件;

  • 参数如下:



5 Runtime Controller

  • 生命周期/运行周期控制器;

  • 用来控制其子元件的执行时长;

  • 参数如下:



6 Switch Controller

  • Switch 条件控制器;

  • 类似于编程语言中的 Switch 控制语句;

  • 参数如下:



7 While Controller

  • While 条件控制器;

  • 其下的元件一直执行,直到 while 的条件为 False;

  • 参数如下:



8 Interleave Controller

  • 交替控制器;

  • 其节点下的取样器交替执行;

  • 比如该控制器下有 2 个取样器 1 和 2,交替执行 1 和 2 请求,即每次传递一个子请求到这个测试,按子元件的排列顺序;

  • 参数如下:



9 Once Only controller

  • 仅一次控制器;

  • 在测试计划执行期间,该控制器下的子结点对每个线程只执行一次;

  • 登录场景经常会使用到这个控制器;

  • 参数如下:



10 Throughput Controller

  • 吞吐量控制器;

  • 用来控制其下元件的执行次数;

  • 并无吞吐量的功能,想要控制吞吐量需要使用 Constant Throughput Timer;

  • 参数如下:



11 If Controller

  • If 条件控制器;

  • 可通过某个条件控制此节点下的元件是否运行;

  • 参数如下:



12 Module Controller

  • 模块控制器;

  • 测试控制器子节点下的某一个模块,而不是整个测试计划;

  • 用于跳转到选定的控制器位置并执行对应的控制器;

  • 应用场景为业务逻辑的跳转;

  • 参数如下:




13 Random Controller

  • 随机控制器;

  • 节点下的元件随机运行,与交替控制器不一样的是节点下的元件执行顺序不定;

  • 参数说明:



14 Random Order Controller

  • 随机顺序控制器;

  • 随机执行其下的所有子结点;

  • 与 Random Controller 不同的是,这个控制器会先将需要随机的内容均执行一遍,但次序不定;

  • 参数如下:



15 Recording Controller

  • 录制控制器;

  • 类似代理服务器的作用,在测试执行期间记录测试样本;



16 Transaction Controller

  • 事务控制器;

  • 把其节点下的取样器执行消耗时间累加在一起;

  • 如果事务控制器下的取样器有多个,只有每一个取样器都运行成功,整个事务控制器定义的事务才算成功;

  • 参数说明:



17 Critical Section Controller

  • 临界区控制器;

  • 确保其子节点下的取样器或控制器将被执行(只有一个线程作为一个锁);

  • 参数说明:



发布于: 2 小时前阅读数: 5
用户头像

虫无涯

关注

专注测试领域各种技术研究、分享和交流~ 2019-12-11 加入

CSDN测试领域优质创作者 | CSDN博客专家 | 阿里云专家博主 | 华为云享专家 | 51CTO专家博主

评论

发布
暂无评论
JMeter笔记17 | JMeter逻辑控制器简介_测试_虫无涯_InfoQ写作社区