邏輯控制器
主要介紹:if控制器,事務控制器,迴圈控制器,簡單控制器,foreach控制器等,其他控制器會在高階篇中一一介紹。
if控制器
不勾選「interpret condition as variable expression」
直接輸入我們需要判斷的表示式即可,判斷表示式為真時,執行if控制器下的請求,例如$=="admin",使用者名稱是admin則執行控制器下的子節點
勾選「interpret condition as variable expression」
expression中不能直接填寫條件表示式,需要借助函式(__jexl3或__groovy)將表示式計算為true或false,如:$=="admin",)},才能識別
我們在寫需要邏輯判斷,根據條件執行不同操作的指令碼時,可以借助if控制器。
事務控制器
勾選後,檢視結果樹呈現:所有的結果將在父結點中展示
不勾選,檢視結果樹呈現:所有結果和父節點並列展示
選中:會統計定時器(timer)的時間
不選中:只統計取樣器(sample)的時間
迴圈控制器
控制「迴圈控制器」下子節點執行的次數,如果勾選永遠,表示一直迴圈下去
說明:如果執行緒組設定迴圈次數,例如執行緒組迴圈設定2,迴圈控制器設定3,則迴圈控制器下的子節點總共執行2*3次
簡單控制器
主要起分組功能,便於指令碼的管理和維護,實質不具備任何邏輯控制和執行功能
foreach控制器
輸入變數字首:變數的字首,如要使用的變數為name_1,則需要填name
開始迴圈字段(不包含):從x-1號的變數開始,x為第幾個變數;如填0,實際從第乙個開始
結束迴圈字段(含):到x+1的變數結束,x為第幾個變數;如填4,實際第4個不會被使用,只會到第3個
輸出變數名稱:將要用來使用的變數名
數字之前加上下劃線"_"?:使用者定義的變數有沒有下劃線分隔編號,最好還是勾上比較方便標識
斷言
主要介紹:響應斷言,json斷言,beanshell斷言,其他斷言就不做具體介紹,想要了解的可自行查閱資料(在工作jmter用的比較多,以上三個已滿足)
響應斷言
json斷言
assert json path exists:json表示式(參考json提取器語法),對提取的值做斷言
additionally assert value:表示式提取值等於特定值
match as regulat expression:表示式提取值符合正規表示式
expected value:預期值
expect null:預期值空
invert assertion(will fail iif above conditions met):上面的條件滿足則斷言失敗
定時器
主要介紹:固定定時器,高斯定時器,同步定時器,這三個定時器用的比較多
固定定時器
如果你需要讓每個執行緒在請求之前按相同的指定時間停頓,那麼可以使用這個定時器
注意:固定定時器的延時不會計入單個sampler的響應時間,但會計入事務控制器的時間。
高斯定時器
如需要每個執行緒在請求前按隨機時間停頓,那麼使用這個定時器,上圖表示暫停時間會分布在100到300之間
同步定時器
這個定時器和loadrunner當中的集合點(rendezvous point)作用相似
其作用是:阻塞執行緒,直到指定的執行緒數量到達後,再一起釋放,可以瞬間產生很大的壓力
模擬使用者組的數量:即指定同時釋放的執行緒數數量
超時時間以毫秒為單位:超時時間,即超時多少毫秒後還是未達到設定的使用者數,則同時釋放當前的執行緒數
說明:我們在做壓力測試,想模擬一瞬間的壓力,多用到這個定時器
總結
JMeter 邏輯控制器
用於控制samlper執行順序。簡單控制器用來存放元件的,沒有提供什麼邏輯功能。打個比方有點像是windows下的資料夾。我經常是用來控制項的執行邊界,比如http資訊頭管理器 迴圈次數 整數,勾選 永遠 表示控制器下的請求會一直執行。輸入 1等同選擇 永遠 僅一次控制器下的請求在每個執行緒中只會執...
jmeter 邏輯控制器
loop count 迴圈次數 forever 勾選上的話,會一直迴圈,即所謂死迴圈 注意 如果執行緒組本身已經設定了迴圈次數的話,那迴圈控制項控制的子節點的迴圈次數為執行緒組設定的迴圈次數乘以迴圈控制器設定的迴圈次數的結果 例如 執行緒組設定迴圈數為2,迴圈控制器設定迴圈數為3,則迴圈控制器控制的...
Jmeter邏輯控制器
一 簡單控制器 controller 二 迴圈控制器 loop controller 三 僅一次控制器 once only controller 四 foreach控制器 foreach controller 五 事務控制器 transaction controller 六 if 控制器 if co...