临界部分控制器<Critical Section Controller> 业务逻辑: 根据锁名来控制并发,同一个锁名之下,在同一时间点只能存在一个运行中,适用于控制并发的场景 锁名类型: 锁名为空,认为每个锁为不同的锁 锁名相同,多个锁认为是同一个锁,同一个时间点只能存在一个运行中 锁名为变量,根据变量值来判断是不是属于同一个锁,变量值为相同时,则认为是同一个锁 演示脚本: Demo_临界部分控制器…
随机控制器<Random Controller> 业务逻辑: 当每次执行到该逻辑控制器时,随机挑选控制器下的任意一个子节点<取样器.逻辑控制器> Ignore sub-controller blocks:忽略子控制器 勾选后,会无视节点下的所有控制器<交替控制器.随机控制器例外>,将每个取样器作为一个单独字节点执行. 不勾选忽略子控制器,交替执行时,节点下次一级每个取样器.逻辑控制器都认为是一个单独子节点来交替执行. 演示脚本: Demo_随机控制器 随机控制器与随机顺…
随机顺序控制器<Random Order Controller> 业务逻辑: 当控制器被触发时,将控制器下的所有子节点顺序打乱执行一遍,执行一遍,执行一遍,不是执行一个. 注意:是将子节点的顺序打乱,而非请求的顺序打乱,子节点可以是其他逻辑控制器. 演示脚本: Demo_随机顺序处理器 随机控制器与随机顺序控制器名字十分接近,但两者还是有着明显的区别,可参考  JMeter逻辑控制器_随机控制器 随机控制器为每次只执行节点下的一个子节点,随机顺序控制器是将节点下的所有子节点都正常执行,只是将执…
模块控制器<Module Controller> 业务逻辑: 可以理解为引用.调用的意思,执行内容为Module To Run种所选的内容,引用范围为当前测试计划内的测试片段.逻辑控制器<模块控制器除外.模块控制器除外.模块控制器除外> 被引用的逻辑控制器.测试片段可以为禁用状态,被引用后仍然会被执行. 可以将模块控制器与包括控制器一起学习比较,模块控制器是从内部文件中引用,引用上相对比较灵活,可以只引用部分测试片段或模块内容,包括控制器是从外部文件引用,只能引用整个测试片段的内容…
包括控制器<Include Controller> 业务逻辑: 通过Filename的路径和文件名引用外部的jmx文件,然后对齐执行,若外部文件中没有可执行范围内的脚本内容,则跳过该逻辑控制器.被引用文件只会执行Test Fragment测试片段中的内容,线程组的内容不会被执行. 可以将包括控制器与模块控制器一起学习比较,包括控制器是从外部文件引用,只能引用整个测试片段的内容,模块控制器是从内部文件中引用,引用上相对比较灵活,可以只引用部分测试片段或模块内容. 模块控制器介绍:逻辑控制器__模…
仅一次控制器<Once Only Controller> 业务逻辑: 在每个线程内,该控制器下的内容只会被执行一遍,无论循环多少次,都只执行一遍.<嵌套在循环控制器之内时是个例外,每个线程组循环都会被执行一遍> 演示脚本:Demo_仅一次控制器…
交替控制器<Interleave Controller> 业务逻辑: 根据被控制器触发执行次数,去依次执行控制器下的子节点<逻辑控制器.采样器>. 被触发执行可以由线程组的线程数.循环次数.逻辑控制器触发. Ignore sub-controller blocks:忽略子控制器 勾选后,会无视节点下的所有控制器<交替控制器.随机控制器例外>,将每个取样器作为一个单独字节点执行 不勾选忽略子控制器,交替执行时,节点下次一级每个取样器.逻辑控制器都认为是一个单独子节点来交替…
录制控制器<Recording Controller> 个人感觉录制的脚本缺陷太明显,没有研究过,暂不做介绍,等后续空了研究后再写…
事务控制器<Transaction Controller> 业务逻辑: 这个控制器在在业务控制上并没有什么特殊逻辑,可以理解为在简单控制器的基础上添加了统计的功能,当所有子节点全部成功则成功,由任意一个失败结果就为失败. 事务控制器不会对其子节点的执行逻辑产生影响,其效果为在监听器生成统计的时,以一个单独的统计点来统计,可各项指标为控制器子节点的指标之和. 当事务控制器下的任意一子节点执行失败,事务控制器的执行结果就会被以失败统计. Generate parent sample<生成父样…
简单控制器<Simple Controller> 业务逻辑: 就像他的名字一样,简单,可以理解为一个文件夹,就是分组用的,没有其他特殊功能,但相比不添加简单控制器,区别在于简单控制器可以被模块控制器所引用. 演示脚本: Demo_简单控制器…