主要配置:
- Condition (default Javascript) : 默认是用js解析表达式结果是否为true。
- Interpret Condition as Variable Expression :
如果这个选项被选中,讲不会使用js解析;条件表达式的值必须是true(忽略大小写)。
如${FOUND} or ${__jexl3(${VAR} > 100)},
${FOUND}可以为true,True,TRue等。
${__jexl3(${VAR} > 100)} ,只要${VAR} > 100,那么这整个表达式的值为true,如果去掉${__jexl3()}这个函数,那么这个表达式将没有函数来解析,将会当做一个字符串对待,如"1000 > 100",显然这个字符串的值不是true,必须要有函数解析才行。
- Evaluate for all children :
是否每次执行子取样器的时候,都执行一次if条件判断。
NOTE:
做性能测试时,建议勾选“Interpret Condition as Variable Expression”。如果使用js模式,会有些性能损耗。
${JMeterThread.last_sample_ok}等价于${__javaScript(${JMeterThread.last_sample_ok})}
举例:
如果下订单的取样器执行完毕,如果成功orderId变量可能会存在如下情况:
1. orderId=null
2. oderId变量不存在
3. oderId=""
4. orderId="1"
这个表达式:
${__jexl3("${orderId}"!="\${orderId}")}的值分别为
1. false
2. false
3. true
4. true
如果我们需要判断orderId存在并且不为"",满足此条件,说明订单下成功,才允许对订单进行进一步的测试。那么利用这个特性,可以使用这个表达式判断orderId存在并且不为null,不为"",此时应使用:${__jexl3("${orderId}"!="\${orderId}" && "${orderId}"!="")}
请联系网站,了解详细的优惠课程信息~
优质、便捷、省心