如何在每次循环时执行不同的请求?Jmeter中有一个交替控制器Interleave Controller可以试试
下面看看交替控制器是如何执行的?
在线程组下新建交替控制器,下面有3个请求A/B/C
一、线程组循环设置5
此时每次循环时会按顺序执行交替控制器的一个请求,顺序为A、B、C、A、B
二、将线程组中线程数设置为5,循环次数为1
从以下结果可见,每一个线程循环执行时都是从交替控制的第一个请求开始
如果交替控制下还有其他控制器时时如何执行的呢?在其下建一个循环控制器,循环次数设置为2,增加一个D请求
三、将线程组循环次数还是设置为5,线程数1
此时每次循环时顺序执行交替控制下的请求,遇到子控制器时,将子控制器执行一次,所以顺序为A、B、C、(D、D)、A
交替控制下有两个选项
Ignore sub-controller blocks:忽略自控制模块
Interleave across threads:跨线程交替
四、勾选Ignore sub-controller blocks,将线程组循环次数还是设置为5,线程数1
可以看到子控制器循环控制器的次数被忽略了,只执行了循环控制下的请求
五、勾选Interleave across threads,将线程组中线程数设置为5,循环次数为1
原先每个线程都是从A开始执行,勾选跨线程交替后,每个线程都执行交替控制中不同请求