使用场景:用户访问商品列表页,第一个用户下单商品A,第二个用户下单商品B,依次下单。于是可以用的jmeter的逻辑控制器-交替控制器来实现
交替控制器:根据被控制器触发执行次数,去依次执行控制器下的子节点(逻辑控制器、采样器),可以由线程组的线程数、循环次数、逻辑控制器触发;交替控制器有两种设置方式如下:
忽略资(子)控制器块:如果勾选,交替控制器将处理子控制器,如单个请求元素,并且每个控制器一次只允许一个请求
Interleave accross threads跨线程交错: 如果选中,交替控制器将在每个子控制器之间交替进行每次循环迭代但是跨所有线程,例如在具有4个线程和3个子控制器配置中,在第一次迭代时线程1将允许第一个子节点,线程2第二个子节点,线程3第三个子节点,线程4第一个子节点,在下一次迭代中,每个线程将运行以下子控制器
场景1:一个用户在商品列表分别下单商品A、商品B、商品C、商品D
1.设置线程组为1循环4次
2.交替控制器的条件都不选择
3.最后执行结果如下:商品A、商品B、商品C、商品D都执行了
场景2:4个用户分别在商品列表下单商品A、商品B、商品C、商品D
1.设置线程组为4循环1次
2.设置交替控制器条件,选择Interleave accross threads跨线程交错
3.执行结果如下,4个用户分别下单了商品A、商品B、商品C、商品D