1.简单控制器
简单控制器的作用是将采样器与其他的配置原件组织在一个模块中,方便对某个模块进行添加和删除操作。它没有其他的功能,只提供存储控制作用。
2.循环控制器
如果同时设置了线程组的循环次数和循环控制器的次数,那么循环控制器下的采样器的循环次数为两个数值相乘的结果
线程组的循环次数2,循环控制器的次数5
3.仅一次控制器
线程循环设置5
4.随机控制器
线程组循环设置为2,则随机取2个sampler运行,可能会取到同一个sampler
5.随机顺序控制器
8.if控制器
示例一:
示例二:
示例三:
示例四:尽可能使用'解释条件作为变量表达式'
示例五:使用Groovy和JEXL解释器而不是Javascript(待补充)
示例六:使用$ {JMeterThread.last_sample_ok}检查交易请求
第二个勾选项告诉JMeter验证针对每个子请求采样器的条件
适用场景:希望运行一批请求,直到其中一个请求失败(事务控制器做不到这点,它只能全部执行或全部不执行)
9.while控制器
10.switch控制器
11.foreach控制器 : 用于读取多个自定义变量
ForEach Controller之参数说明
参数名称 | 含义 | |
---|---|---|
1 | Input variable prefix | 输入变量的前缀。即用户自定义变量中变量名的前缀字符串 |
2 | Start index for loop(exclusive) | 循环读取的开始游标位置(包括当前游标位置)。0号位代表第1个变量值,1号位代表第2个变量值 |
3 | End index for loop(inclusive) | 循环读取的结束游标位置(不包括当前游标位置)。如输入4号位,不包括4号位即结束位是在3号位,代表第4个变量值 |
4 | Output variable name | 用作存储输出数据的变量名。此变量名可在HTTP Request中进行引用参数,随同请求一起发出 |
5 | Add "_" before number? | 在数字(游标位置对应的数字)之前添加下划线"_" |
示例一:
12.事务控制器
示例一:
示例二: