Jmeter邏輯控制之if控制器

1、背景

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

2、實際操做

邏輯控制器位置:性能

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

 

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

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

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

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

表達式支持:io

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

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

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

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

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

3、總結

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

相關文章
相關標籤/搜索