JMeter使用邏輯控制器來決定采樣器的處理順序。
· ForEach控制器:一般和用戶自定義變量(User Defined Variables)一起使用,其在用戶自定義變量中讀取一系列相關(guān)的變量。該控制器下的采樣器或控制器都會被執(zhí)行一次或多次,每次讀取不同的變量值。
· include controller:被設(shè)計用于使用外部jmx文件。
· Runtime Controller(運行時長控制器):設(shè)置運行時長。
· Switch Controller:在switch value中輸入執(zhí)行的子測試元件對應(yīng)數(shù)字(或名稱),子測試元件從0開始編號。
· While Controller:該控制器會一直運行自己的子測試元件,直到條件變?yōu)?ldquo;false”.
· 事務(wù)控制器(Transaction Controller):會生產(chǎn)一個額外的采樣器,用來統(tǒng)計該控制器子結(jié)點的所有時間。
· 交替控制器(Interleave Controller):順序為該控制器下子測試元件1、非該控制器下測試元件123456、該控制器下子測試元件2、非該控制器下測試元件123456、該控制器下子測試元件、……
· 僅一次控制器(Once Only Controller):在測試計劃執(zhí)行期間,該控制器下的子結(jié)點對每個線程只執(zhí)行一次,登錄場景經(jīng)常會使用到這個控制器。
· 吞吐量控制器(Throughput Controller):控制其下的子節(jié)點的執(zhí)行次數(shù)與負(fù)載比例分配。
· 如果控制器(If Controller):控制其下子測試元件是否執(zhí)行,根據(jù)給定表達(dá)式的值決定是否執(zhí)行該節(jié)點下的子節(jié)點,默認(rèn)使用javascript的語法進(jìn)行判斷。
· 錄制控制器:是一個存放位置,指明了代理服務(wù)器錄制的采樣應(yīng)該放在哪里。
· 循環(huán)控制器(Loop Controller):設(shè)置循環(huán)次數(shù)。
· 模塊控制器(Module Controller):提供了一個機制,即在當(dāng)前測試計劃中動態(tài)地替換測試計劃判斷。
· 簡單控制器(Simple Controller):可以讓我們組織我們的采樣器和其它的邏輯控制器(分組功能),提供一個塊的結(jié)構(gòu)和控制,并不具有任何的邏輯控制或運行時的功能。
· 隨機控制器(Random Controller):類似于交替控制器,不同是其下子測試元件不會按順序輪流執(zhí)行,現(xiàn)在隨機挑選執(zhí)行。
· 隨機順序控制器(Random Order Controller):像一個簡單控制器,每個子測試元件都至多執(zhí)行一次,但是執(zhí)行順序是隨機的。