Jmeter(10)邏輯控制器

2022-05-18 21:49:26 字數 2321 閱讀 6815

邏輯控制器可以控制取樣器的執行順序,所以控制器需要和取樣器一起使用

jmeter中的邏輯控制器分為兩類

1、控制測試計畫執行過程中節點的邏輯順序,如迴圈控制器、if控制器

2、對測試計畫中的指令碼進行分組,方便jmeter統計執行結果以及進行指令碼的執行時控制,如事務控制器、吞吐量控制器

邏輯控制器型別

一、簡單控制器

作用:這是jmeter最簡單的控制器,它可以組織我們的取樣器和和其他邏輯控制器,相當於分組,提供乙個塊的結果和控制,並不具有任何的邏輯控制或執行時的功能

二、迴圈控制器

作用:指定其子節點執行的次數,可以使用具體的數字,也可以使用變數

如果同時設定了執行緒組的迴圈次數和迴圈控制器的迴圈次數,那迴圈控制器的子節點執行次數為執行緒組迴圈次數*迴圈控制器迴圈次數

三、僅一次控制器

作用:在測試計畫執行期間,該控制器下的子節點對每個執行緒組只執行一次

如果將僅一次控制器作為迴圈控制器的子節點,那麼僅一次控制器在每次迴圈的第一次迭代時均會被執行

四、foreach控制器

引數:輸入變數字首,即使用者定義變數的字首

迴圈開始的索引(不包含),如果不填寫,預設從1開始,如果沒有從1開始的變數,執行時會報錯

迴圈結束的索引(包含)

輸出變數名稱,其他地方可以通過$進行呼叫

輸入變數名稱中是否使用「_」分隔

比如使用者定義的變數如下:

五、事務控制器

作用:事務控制器會產生乙個額外的取樣器,用來統計該控制器下所有子節點的時間

generate parent sample:生成父取樣器,不勾選時,事務控制器新增在其取樣器後面;勾選時,事務控制器是作為其下取樣器的父取樣器,效果見如下圖

include duration of timer and pre-post processors in generated sample:勾選後會統計定時器的時間和前後生成取樣器的時間,否則只統計取樣器的時間

六、如果(if)控制器

引數:interpret condition as variable expression:判斷變數值是否等於字串true,不區分大小寫

evaluate for all children:勾選後,在每個子節點執行前都會計算表示式

七、switch控制器

作用:switch控制器通過給該控制器中的value賦值,來指定執行哪個取樣器,有兩種賦值方式

第一種通過數字賦值,switch控制器下的子節點從0開始計數,通過指定子節點所在的數值來確定執行哪個元素

第二種是直接指定子元素的名稱,比如取樣器的名稱來進行匹配,當指定名稱不存在時,不執行任何元素

當value為空時,預設執行第乙個子節點元素

八、吞吐量控制器

作用:控制其下的子節點的執行次數與負載比例分配,有兩種方式

total executions:設定執行次數

percent executions:設定執行比例(1~100之間)

九、隨機控制器

作用:隨機執行其下某個子節點

十、隨機順序控制器

作用:按隨機順序,執行其下的所有子節點

十一、runtime控制器

作用:用於控制該控制器下的取樣器或控制器的執行時間,單位秒

JMeter 10 JMeter邏輯控制器

業務邏輯 foreach控制器一般與使用者自定義變數 jdbc結果變數一起使用,可以認為他就是一種遍歷型迴圈,該節點下的指令碼內容會根據結和使用的變數被執行一次或者多次 控制器選項介紹 input variable prefix 變數字首,比如上面的test 1,這裡就輸入test start in...

JMeter 邏輯控制器

用於控制samlper執行順序。簡單控制器用來存放元件的,沒有提供什麼邏輯功能。打個比方有點像是windows下的資料夾。我經常是用來控制項的執行邊界,比如http資訊頭管理器 迴圈次數 整數,勾選 永遠 表示控制器下的請求會一直執行。輸入 1等同選擇 永遠 僅一次控制器下的請求在每個執行緒中只會執...

jmeter 邏輯控制器

loop count 迴圈次數 forever 勾選上的話,會一直迴圈,即所謂死迴圈 注意 如果執行緒組本身已經設定了迴圈次數的話,那迴圈控制項控制的子節點的迴圈次數為執行緒組設定的迴圈次數乘以迴圈控制器設定的迴圈次數的結果 例如 執行緒組設定迴圈數為2,迴圈控制器設定迴圈數為3,則迴圈控制器控制的...