逻辑控制器能够帮助用户控制Jmeter的测试逻辑,特别是什么时候发送请求。逻辑控制器能够改变其子测试元件的请求执行顺序。正则表达式
(1)若是(if)控制器服务器
用法一:post
审核人员,数据分为两处:测试
(1)编制人员提交上来的spa
(2)签发人员驳回过来的线程
此时使用“若是控制器”,先查询出待审核报告,返回数据为{"total":0,"rows":[]},使用正则表达式取出total值,取出的值为0,则执行”若是控制器”里的查询,得到被驳回的数据blog
用法二:排序
若是(if)控制器 + 用户定义的变量 一块儿使用接口
线程组--->(右键)添加 --->配置元件 --->用户定义的变量 事务
用户定义的变量做用范围:当前的线程组内因此取样器均可以引用变量,特殊说明,服务器ip地址和端口号以及接口共同的请求路径部分,做为变量引用时,须要在路径填充表格的最前面添加两个斜杠“//”,否则会引用失败的。
(2)仅一次控制器
在测试计划执行期间,该控制器下的子结点对每一个线程只执行一次,登陆常常使用这个控制器。好比,编制人员,一次登陆上去,屡次编制提交报告
(3)ForEach控制器(循环控制器)
ForEach控制器在用户自定义变量中读取一系列相关的变量。该控制器下的采样器或控制器都会被执行一次或屡次,每次读取不一样的变量值。因此ForEach老是和User Defined Variables(用户自定义变量)一块儿使用。
(4)事务控制器
事务控制器会生成一个额外的采样器,测量执行嵌套测试元素所采起的总体时间。值得注意的是,这个时间包含该控制器范围内的全部处理时间,而不单单是采样器的。
对于Jmeter2.3以上的版本,有如下两种模式的操做:
(1)事务采样器是添加到其下采样器后面的
(2)事务采样器是做为其下采样器的父采样器。
(5)Switch Controller(开关控制器)
Switch控制器经过给该控制器中的Value赋值,肯定要运行哪一个采样器。
有两种赋值方式:(1)数值,switch控制器下子节点从0开始计数排序,经过指定子节点所在的数值来肯定执行的取样器。(2)取样器名称,以采样器的名称来进行匹配。
说明:当指定的名称不存在时,不执行任何元素。
(6)Runntime Controller(运行时控制器)
运行控制器,控制其下节点线程被运行时间。
(7)Include Controller(包含控制器)
包含控制器用于使用外部的Jmx文件。
注意说明:包含测试的测试计划中不能有线程组,仅仅只能有simple controller ,而后其下能够添加任何采样器,控制器。
(8)交替控制器
一次只执行其下的一个子节点(采样器)(按顺序排序执行)