Jmeter --- 邏輯控制之if控制器


一、背景

在實際工作中,當使用Jmeter做性能腳本或者接口腳本時,有可能會遇到需要對不同的條件做不同的操作,基於這種訴求,在Jmeter中可使用if控制器來實現

二、實際操作

邏輯控制器位置:

  在線程組下,執行:添加  ---->> 邏輯控制器 ---->> 如果(If)控制器

 

if邏輯控制器控件中最重要就是Expression(must evaluate true or false)輸入框,此處需要寫入需要進行判斷的表達式,從must evaluate true or false可知,實際使用時,只能填入true或者false這樣的值,因此我們需要借助其他模塊或者函數將需要進行判斷的表達式(如 ${var}== 5)轉換成true或false,判斷才能生效,直接將${var}== 5這樣的表達式寫入Expression中是無效的。

從該控制器提示的信息中,可以借助__jexl3或者__groovy函數來計算表達式的值,這樣着重介紹下__jexl3在 if控制器中的使用。

jexl全稱:Jakarta Commons Jexl,是一種表達式語言(Java Expression Language)解釋器。

JEXL Expression to evaluate:此處直接填寫需要進行判斷的表達式即可

表達式支持:

==   是否等於,如${__jexl3(${VAR}==1,)},判斷${VAR}變量是否等於1

!=  不等於,如${__jexl3(${VAR}!=1,)},判斷${VAR}變量是否不等於1

!  非,如${__jexl3(!(${VAR}!=1),)}對${VAR}!=1的結果取反

&&或||  且與或,如  ${__jexl3(${VAR}==1 && ${name} != "heima",)}

> 或者>==   大於等於,如${__jexl3(${count}>=10,)}

三、總結

在if邏輯控制器的Expression中不能直接填寫條件表達式,需要借助函數將條件表達式計算為true/false,可以借助的函數有__jexl3和__groovy函數


免責聲明!

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



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