Jmeter交替控制器 Interleave Controller
Jmeter交替控制器 Interleave Controller
一、Interleave Controller界面
Interleave Controller元素名称 | Interleave Controller功能 |
Name | 定义Interleave Controller名称 |
Comments | 注释,描述Interleave Controller在业务中的作用 |
Ignore sub-controller blocks | 忽略子控制器,即子控制器功能失效,由交替控制器代替。 |
Interleave across treads |
跨线程交替 线程组在设置了多线程运行时,每一轮循环时,每个线程都在交替控制器中拿到新的请求。 |
二、Interleave Controller实例
@Interleave Controller 交替运行
场景一:添加一个交替控制器,在交替控制器下添加Test-A和Test-B 两个请求。
运行策略:线程组设置1个线程,循环3次。
运行结果:Test-A----->Test-B----->Test-A
@Interleave Controller 多个交替控制器
场景二:添加两个交替控制器,在“交替控制器AB”下添加Test-A和Test-B 两个请求。在“交替控制器CD”下添加Test-C和Test-D 两个请求。
运行策略:线程组设置1个线程,循环3次。
运行结果:每次都在两个交替控制器之间交替运行。
第一次循环 |
交替控制器AB的Test-A 交替控制器CD的Test-C |
第二次循环 |
交替控制器AB的Test-B 交替控制器CD的Test-D |
第三次循环 |
交替控制器AB的Test-A 交替控制器CD的Test-C |
@Interleave Controller 勾选Ignore sub-controller blocks
场景三: 交替控制器勾选,忽略子控制器Ignore sub-controller blocks。在交替控制器下面添加子控制器“循环控制器”,并且循环控制器设置循环次数为3
运行策略:线程组设置1个线程,循环3次。
运行结果:Test-A----->Test-B----->Test-C (Test-C只运行了一次,说明LoopController控制器功能失效,已被交替控制器替代。如果不勾选交替控制器的Ignore sub-controller blocks,那么Test-C 会运行3次。)
LoopController设置循环次数3
勾选Ignore sub-controller blocks运行结果
@Interleave Controller 勾选Interleave across treads
场景四: 多线程运行,交替控制器勾选与不勾选跨线程交替Interleave across treads执行差异。
运行策略:线程组设置3个线程,循环1次。
运行结果:Test-A----->Test-B----->Test-C (每一个线程都在交替控制器中交替拿到一个新的请求执行)
勾选Interleave across treads
不勾选Interleave across treads
运行结果:Test-A----->Test-A----->Test-A (每一个线程第一次循环都在交替控制器中拿第一个请求。)