JMeter 笔记 17 | JMeter 逻辑控制器简介
逻辑控制器可以对元件的执行逻辑进行控制;
逻辑控制器下可以嵌套别的逻辑控制器(一次控制器除外);
如图:
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
临界区控制器;
确保其子节点下的取样器或控制器将被执行(只有一个线程作为一个锁);
参数说明:

版权声明: 本文为 InfoQ 作者【虫无涯】的原创文章。
原文链接:【http://xie.infoq.cn/article/4805657ae194df2a80edd3ec0】。文章转载请联系作者。
评论