前言
有這么一個場景:用戶訪問商品列表頁,第一個用戶下單商品A,第二個用戶下單商品B,依次下單。
於是可以用的jmeter的邏輯控制器-交替控制器來實現
交替控制器
交替控制器:如果將采樣器或邏輯控制器添加到交替控制器,則JMeter將在每個其下的控制器之間交替進行每次循環迭代。
線程組-添加-邏輯控制器-交替控制器
- 忽略資(子)控制器塊:如果勾選,交替控制器將處理子控制器,如單個請求元素,並且每個控制器一次只允許一個請求
- 跨線程交錯: 如果選中,交替控制器將在每個子控制器之間交替進行每次循環迭代但是跨所有線程,例如在具有4個線程和3個子控制器配置中,在第一次迭代時
線程1將允許第一個子節點,線程2第二個子節點,線程3第三個子節點,線程4第一個子節點,在下一次迭代中,每個線程將運行以下子控制器
運行場景
在交替控制器下添加商品A和商品B,設置線程組為2,循環1次
運行結果商品A會執行2次,商品B不執行
如果設置線程組為2,循環2次,此時A和B都會被執行2次
當循環次數是大於等於交替控制器里面的熟練的時候,每次循環,都會交替執行
忽略子控制器
當交替控制器里面有子控制器的時候,添加一個子控制器-循環控制器,添加商品C
如果沒勾選忽略子控制器塊,設置線程組為2,循環3次。
此時商品C,作為一個子控制器會循環執行3次
現在勾選忽略子控制器塊,設置線程組為2,循環3次。
再運行的時候,商品C就只執行一次了
一般忽略子控制器塊可以不用勾選,具體根據自己的需要而定。