zoukankan      html  css  js  c++  java
  • Jmeter逻辑控制之if控制器

    一、背景

    在实际工作中,当使用Jmeter做性能脚本或者接口脚本时,有可能会遇到需要对不同的条件做不同的操作,基于这种诉求,在Jmeter中可使用if控制器来实现

    二、实际操作

    逻辑控制器位置:

      在线程组下,执行:添加  ---->> 逻辑控制器 ---->> 如果(If)控制器

    if逻辑控制器控件中最重要就是Expression(must evaluate true or false)输入框,此处需要写入需要进行判断的表达式,从must evaluate true or false可知,实际使用时,只能填入true或者false这样的值,因此我们需要借助其他模块或者函数将需要进行判断的表达式(如 ${var}== 5)转换成true或false,判断才能生效,直接将${var}== 5这样的表达式写入Expression中是无效的。

    从该控制器提示的信息中,可以借助__jexl3或者__groovy函数来计算表达式的值,这样着重介绍下__jexl3在 if控制器中的使用。

    jexl全称:Jakarta Commons Jexl,是一种表达式语言(Java Expression Language)解释器。

    JEXL Expression to evaluate:此处直接填写需要进行判断的表达式即可

    表达式支持:

    ==   是否等于,如${__jexl3(${VAR}==1,)},判断${VAR}变量是否等于1

    !=  不等于,如${__jexl3(${VAR}!=1,)},判断${VAR}变量是否不等于1

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

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

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

    三、总结

    在if逻辑控制器的Expression中不能直接填写条件表达式,需要借助函数将条件表达式计算为true/false,可以借助的函数有__jexl3和__groovy函数

  • 相关阅读:
    1373:鱼塘钓鱼(fishing)
    1261:【例9.5】城市交通路网
    1259:【例9.3】求最长不下降序列
    1260:【例9.4】拦截导弹(Noip1999)
    1258:【例9.2】数字金字塔
    1261:【例9.5】城市交通路网
    1260:【例9.4】拦截导弹(Noip1999)
    1259:【例9.3】求最长不下降序列
    1257:Knight Moves
    [HAOI2008]硬币购物(动态规划、容斥、搜索)
  • 原文地址:https://www.cnblogs.com/yaoqingzhuan/p/8903704.html
Copyright © 2011-2022 走看看