JMeter使用逻辑控制器来决定采样器的处理顺序。
· ForEach控制器:一般和用户自定义变量(User Defined Variables)一起使用,其在用户自定义变量中读取一系列相关的变量。该控制器下的采样器或控制器都会被执行一次或多次,每次读取不同的变量值。
· include controller:被设计用于使用外部jmx文件。
· Runtime Controller(运行时长控制器):设置运行时长。
· Switch Controller:在switch value中输入执行的子测试元件对应数字(或名称),子测试元件从0开始编号。
· While Controller:该控制器会一直运行自己的子测试元件,直到条件变为“false”.
· 事务控制器(Transaction Controller):会生产一个额外的采样器,用来统计该控制器子结点的所有时间。
· 交替控制器(Interleave Controller):顺序为该控制器下子测试元件1、非该控制器下测试元件123456、该控制器下子测试元件2、非该控制器下测试元件123456、该控制器下子测试元件、……
· 仅一次控制器(Once Only Controller):在测试计划执行期间,该控制器下的子结点对每个线程只执行一次,登录场景经常会使用到这个控制器。
· 吞吐量控制器(Throughput Controller):控制其下的子节点的执行次数与负载比例分配。
· 如果控制器(If Controller):控制其下子测试元件是否执行,根据给定表达式的值决定是否执行该节点下的子节点,默认使用javascript的语法进行判断。
· 录制控制器:是一个存放位置,指明了代理服务器录制的采样应该放在哪里。
· 循环控制器(Loop Controller):设置循环次数。
· 模块控制器(Module Controller):提供了一个机制,即在当前测试计划中动态地替换测试计划判断。
· 简单控制器(Simple Controller):可以让我们组织我们的采样器和其它的逻辑控制器(分组功能),提供一个块的结构和控制,并不具有任何的逻辑控制或运行时的功能。
· 随机控制器(Random Controller):类似于交替控制器,不同是其下子测试元件不会按顺序轮流执行,现在随机挑选执行。
· 随机顺序控制器(Random Order Controller):像一个简单控制器,每个子测试元件都至多执行一次,但是执行顺序是随机的。