如果(if)控制器
如果(if)控制器:判断控制器,根据填写的表达式的值(true或false),来决定控制器下的元件是否执行;true就执行,false就不执行;
Interpret Condition as Variable Expression?:将条件解释为变量表达式(勾选后需要使用 ${__jexl3 } 或 ${__groovy } 函数来计算表达式结果);
Evaluate for all children:条件作用于每个子项,如果选中这一项,在控制器下每个元件执行时,都需要判断一下;
举例一:表达式结果为true就执行,false就不执行;(如:1==1结果为true,1!=1结果为false)
条件填写true,结果:控制器下的请求运行了
条件填写false,结果:控制器下的请求没有运行
举例二:根据上个请求的响应结果,判断是否执行;
如图:登录后提取变量role,在if控制器中填写表达式:${role}>1,进行判断,如果role大于1则执行,如果不大于1则不执行;
结果:登录的响应中role==8,大于1,所以控制器下的请求运行了;(同理:如果填写的表达式为false则不执行)
举例三:勾选Interpret Condition as Variable Expression的例子;
勾选后不能直接填写表达式,需要借助函数对表达式进行计算,根据计算结果(true或false)判断是否执行;
如图:使用_groovy函数,将生成的函数字符串填写导表达式中运行;
结果:登录的响应中role==8,大于1,所以控制器下的请求运行了;
如图:使用_jexl3函数,将生成的函数字符串填写导表达式中运行;
结果:登录的响应中role==8,大于1,所以控制器下的请求运行了;