jmeter壓測學習45-邏輯控制器之如果(If)控制器


前言

當遇到需要對不同的條件做不同的操作時,我們可以使用 JMeter 中 if 控制器來實現。

如果(If)控制器

線程組-添加-邏輯控制器-如果(If)控制器

  • Expression(must evaluate to true or false) 表達式必須為true或false
  • interpret condition as variable expression 勾選表達式為true 執行,為false不執行。不勾選表達式正確,執行,表達式不正確,不執行
  • evaluate for all children 如果選中這一項,在每個子結點執行前都會計算表達式

表達式通過jexl3或者groovy轉成true或false結果,條件格式:${__jexl3(條件表達式)}:

  • == 是否等於, 如${__jexl3(${VAR}==1,)},判斷${VAR}變量是否等於1
  • !=不等於, 如${__jexl3(${VAR}!=1,)},判斷${VAR}變量是否不等於1
  • !非, 如${__jexl3(!(${VAR}!=1),)}對${VAR}!=1的結果取反
  • &&或||且與或, 如 ${__jexl3(${VAR}==1 && ${name} != "heima",)}
  • >或者>== 大於等於, 如${__jexl3(${count}>=10,)}

Expression 為true或false

勾選 interpret condition as variable expression ,表達式可以直接輸入true,請求A會執行,輸入false,請求B不會執行

運行后只有請求A會執行

jexl3 或groovy 函數

勾選 interpret condition as variable expression ,表達式可以通過__jexl3__groovy 函數轉成 true 或 false 結果

先定義一個變量user 值為admin

添加條件判斷 user 為 "admin" 的時候,執行請求A

// 使用__jexl3 函數
${__jexl3("${user}"=="admin",)}
// 或者使用__groovy函數
${__groovy("${user}"=="admin",)}

表達式結果為 true 執行請求A

判斷語句

如果不勾選 interpret condition as variable expression ,可以直接使用判斷語句,不需要用'__jexl3 '或'__groovy' 函數

但這樣會有黃色的警告,一般不推薦

函數助手

如果不會寫__jexl3__groovy 函數,可以使用函數助手自動生成
Tools - 函數助手對話框

選擇一個功能__jexl3函數,輸入表達式,點生成按鈕

這樣把生成的函數復制出來就可以了:${__jexl3("${user}"=="admin",)}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM