在jmeter上,我們所有的測試活動是基於一個測試計划的,而具體的請求都是在線程組下執行的。一個線程組下可以添加多個請求。這些請求可是相同的協議,也可以是不同的協議。當有多個請求的時候,點擊啟動執行時,根據具體的發送時間,有些請求已經發送了多個,另外的請求才開始發送。就好比賽跑的時候,參賽人員都在同一起跑線上,裁判一聲令下,反應快、起步快的就先跑了,並不是按照跑道的順序或者運動員的編號來起跑的。
下面給大家舉個例子,深刻感受下,我要表達的意思。
沒有添加任何控制器,就在線程組下添加了兩個請求,一個登錄,另一個是添加書簽。點擊啟動時的運行情況如下:

但是這種情況是不符合我們的業務規則的,我們希望會員登錄和添加書簽,是一組一組的執行。也就是說想要下面這種結果:

那么讓會員登錄和添加書簽按照順序執行的話,就需要使用邏輯控制器來控制。
這就是我這篇博文要介紹的邏輯控制器Critical Section Controller的用法。
1、第一步,在測試計划下添加線程組
2、第二步,添加配置元件HTTP Cookie 管理器和HTTP信息頭管理器
3、第三步,在線程組下面添加邏輯控制器Critical Section Controller
4、第四步,把需要按照順序執行的請求添加在Critical Section Controller這個控制器下面。

5、第五步,添加一個監聽器察看結果樹。
6、點擊執行,運行完之后,在察看結果樹中查看請求的執行順序是否符合我們的預期。

通過檢查驗證,發現請求的執行順序符合業務,達到了預期。
