If控制器<If Controller>
业务逻辑:
根据表达式的结果来决定是否执行控制器下的脚本内容,与编程语言中的if判断逻辑大致相同,表达式结果为布尔值 true或false;
当表达式结果为true时,执行当前节点下的脚本内容,当表达式结果为false时,跳过当前节点,继续往下执行。
Interpret Condition as Variable Expression?:
不勾选时,会以表达式的结果来判断,即表达式结果、true来判断使用,可以理解为java的if语句;
勾选时,判断输入的条件在转为小写的情况下是否等于true来判断,忽略大小写,但只能识别true,当非true时,都认为是false,数字全部认为是false,但这里却允许使用${__javaScript(,)}、${__groovy(,)}、……等函数来对表达式先执行
Evaluate for all children?:
不勾选时,表达式是否成立只会执行一次,根据结果判断是否执行节点下的所有脚本内容
勾选时,表达式会在节点下的每个取样器之前执行一次,根据表达式结果判断是否执行该取样器
这里的比较运算符包括:>、 <、 >=、 <=、 ==、!=、&&、 ||、 !、equals、 contains等,对于 1是否存在于 [11,22,33]这样的判断目前没找到解决方法,如有朋友有解决办法麻烦告诉声
示例脚本:Demo_If控制器