1. 在線程組下千扶,執(zhí)行:添加 ---->> 邏輯控制器 ---->> 如果(If)控制器:
2.?對(duì)if控制器進(jìn)行變量設(shè)置:
參數(shù):
(1)若不勾選上面任何一個(gè)選項(xiàng),則表示使用變量的方式進(jìn)行判斷赶舆,經(jīng)嘗試后發(fā)現(xiàn) "${變量}"=="變量值"這種格式可以正常使用。
(2)Interpret Condition as Variable Expression?:選中這一項(xiàng)時(shí)表示:判斷變量值是否等于字符串true(不區(qū)分大小寫)
在if邏輯控制器的Expression中不能直接填寫條件表達(dá)式,需要借助函數(shù)將條件表達(dá)式計(jì)算為true/false王滤,可以借助的函數(shù)有__jexl3和__groovy函數(shù):
If邏輯控制器控件中最重要就是Expression(must evaluate true or false)輸入框腿准,此處需要寫入需要進(jìn)行判斷的表達(dá)式际起,從must evaluate true or false可知,實(shí)際使用時(shí)吐葱,只能填入true或者false這樣的值街望,因此我們需要借助其他模塊或者函數(shù)將需要進(jìn)行判斷的表達(dá)式(如 ${var}== 5)轉(zhuǎn)換成true或false,判斷才能生效弟跑,直接將${var}== 5這樣的表達(dá)式寫入Expression中是無效的灾前。
從該控制器提示的信息中,可以借助__jexl3或者_(dá)_groovy函數(shù)來計(jì)算表達(dá)式的值孟辑,這樣著重介紹下__jexl3在 if控制器中的使用哎甲。
jexl全稱:Jakarta Commons Jexl,是一種表達(dá)式語言(Java Expression Language)解釋器扑浸。
JEXL Expression to evaluate:此處直接填寫需要進(jìn)行判斷的表達(dá)式即可
表達(dá)式支持:
==?是否等于烧给,如${__jexl3(${VAR}==1,)},判斷${VAR}變量是否等于1
!=不等于,如${__jexl3(${VAR}!=1,)},判斷${VAR}變量是否不等于1
喝噪! 非础嫡,如${__jexl3(!(${VAR}!=1),)}對(duì)${VAR}!=1的結(jié)果取反
&&或||且與或,如${__jexl3(${VAR}==1 && ${name} !="heima",)}
> 或者>==? ?大于等于,如${__jexl3(${count}>=10,)}
(3)Evaluate for all children:如果選中這一項(xiàng)榴鼎,在每個(gè)子結(jié)點(diǎn)執(zhí)行前都會(huì)計(jì)算表達(dá)式