一.foreach控制器
foreach控制器與用戶定義的變量是綁定使用的,對它下面的子節點進行循環。
1.創建用戶定義的變量:線程組——添加——配置元件——用戶定義的變量。
在“用戶定義的變量”下面值中添加你需要的變量,名稱前綴(url)要一致,后綴("_"后面的數字)則是從1開始遞增。這樣有利於迭代取值到時候都能取到。

2.創建ForEach控制器:線程組——添加——邏輯控制器——ForEach控制器。
輸入變量前綴:這里放的是“用戶定義的變量”中的名稱前綴(url);
Start inex for loop(exclusive)起始的索引:默認是1;
End inex for loop(exclusive)結束的索引:默認是最后一個;
輸出變量名稱:這里設置的參數用來獲取“用戶定義的變量”中的變量。
Add "_" before number?前面默認勾選上。

3.在ForEach控制器下面創建http請求,並往里面放置你設置的參數。

4.運行一下,可以訪問上面你設置的變量值,說明ok。我這里只循環一次,http請求數量是上面你設置的變量數量。

二.Switch Controller
1.創建Switch Controller:線程組——添加——邏輯控制器——Switch Controller。
Switch Value:設置你要訪問的請求索引(從0開始的)或者直接設置訪問的請求名稱。

2.在Switch Controller下面創建兩個http請求,分別是“訪問百度首頁”和“訪問百度新聞”。

3.上面Switch Value我設置的索引為0,下面來運行一下。看,可以訪問到索引為0的http請求(訪問百度首頁),說明ok。

4.現在我們將Switch Value設置為訪問的請求名稱(訪問百度新聞)。

5.下面來運行一下,可以訪問到“訪問百度新聞”請求,說明ok。

三、IF控制器
1.用戶定義的變量:線程組——添加——配置元件——用戶定義的變量。
我設置參數名稱為username,它的值是admin。

2.創建第一個if控制器:線程組——添加——邏輯控制器——如果(If)控制器。
在第一個if控制器下面創建一個http請求(訪問百度首頁)
第一個if控制器的條件是"${username}"=="admin",當滿足條件用戶定義的變量中username設置的值等於admin時,執行“訪問百度首頁”請求。
注意進行比較的是字符串的形式,需要用引號。

3.創建第二個if控制器:線程組——添加——邏輯控制器——如果(If)控制器。
在第二個if控制器下面創建一個http請求(訪問百度新聞)
第一個if控制器的條件是"${username}"!="admin",當滿足條件用戶定義的變量中username設置的值不等於admin時,執行“訪問百度新聞”請求。

4.如用戶定義的變量的圖中所示,我在用戶定義的變量中設置的username的值為admin,下面運行一下,結果顯示的是“訪問百度首頁”,說明ok。

四、事務控制器:
目的:統計該控制器下面的子節點運行的時間。
1.創建事務控制器:線程組——添加——邏輯控制器——事務控制器。
2.在事務控制器下面創建兩個http請求和“用表格察看結果”。

Generate parent sample:統計控制器下面所有子節點的總共的時間。勾選上這一項后,結果如下:只顯示總共的時間

不勾選上Generate parent sample這一項,結果如下:顯示出每個子節點的時間和總共的時間。

Include duration...generated sample:統計定時器等待的時間。如果你添加了定時器,然后勾選了這一項,則會將你定時器等待的時間也統計出來。
五、循環控制器
可以理解為:循環該控制器下下面字節點的次數。
線程組里循環次數設置了n次,循環控制器下的循環次數也設置了m次,則該控制器下的請求運行的次數是(n*m)次。
下面我設置線程組中的循環次數為2次:

設置循環控制器中的循環次數為3次;

下面運行一下,查看結果返回的是2*3=6次。

六、吞吐量控制器:
控制該控制器下面子節點運行次數。
1.創建吞吐量控制器:線程組——添加——邏輯控制器——吞吐量控制器。

Total Executions:吞吐量的次數;
Percent Executions:吞吐量占的百分比。
2.選擇吞吐量次數來試下,我讓控制器1運行2次,讓控制器2運行1次。

3.運行一下線程組,返回的結果顯示百度新聞訪問了2次,百度首頁訪問了1次。

