• 【JMeter】控制器If Controller


    • 功能 

      • 通过条件来控制子元件是否运行

    • 字段

      • Name:名称

      • Comments:注释

      • Expression:表达式输入框(必填)

        • ${va}

        • ${__groovy(vars.get("myMissiong")}

          • 不要在字符串中直接使用变量替换,

          • 使用无法更改脚本的变量,就无法缓存

          • 使用vars.get("myVar")

        • ${__jex13(${COUNT};10)}

        • 值必须是true或者false

      • use status of last sample:最后一个元件的状态,点击后会自动输入框中生成

      • Interpret Condition as Variable Expression

        • 不勾选(不建议使用)

          • if控制器内部使用javascript来计算条件,会有很大性能损失,并降低测试的可伸缩性

        • 勾选

          • 不能直接填写判断条件的表达式,需要用__jexl3函数或__groovy函数条件表达式求值计算为true或false

      • Evaluate for all Children:默认不选中,

        • 判定条件是否针对所有子节点

        • 勾选

          • 子节点每次取样器之前执行一次

          • 根据表达式结果判断是否执行该取样器

        • 不勾选

          • 只在ifcontroller执行一次表达式

          • 根据结果判断是否执行下面的脚本

    • 函数助手

      • jexl3

      • groovy

    • 常用表达式

      • ${JMeterT ead.last_sample_ok}

        • 判断上一个请求是否成功

      • ${__groovy(${__property(sucesscode,,)}==200,)}

    • 判断条件

      • == :等于

        • 如 1==1 或 ${__jexl3(1==1,)}

      • > 、< 大于 小于

        • 如 2>1,1<2,或 ${__jexl3(2>1,)}

      • >=、<= 大于等于 小于等于

        • 如 2>=1 ,或 ${__jexl3(2>=1,)}

      • !=、!不等于,非

        • 如 "y"!="n",非 则取 != 的反值

      • || 或,&& 和 多条件可用

        • 如:2<5 && 2>1,${__jexl3(2<5 && 2>1,)}

      • 字符串必须要用引号,变量都认为时字符串的形式

  • 相关阅读:
    Servlet生命周期
    Azure 机器学习 - 使用Python SDK训练模型
    有没有开源的虚拟路由器?有,VPP了解一下
    设计模式(七):适配器模式
    Flink实时计算中台Kubernates功能改造点
    经典双指针算法试题(二)
    固定资产可视化智能管理系统
    Pr 入门系列之四:编辑(基础篇)
    Linux基础篇之文件权限问题讲解
    利其器(2)——idea常用配置_提高开发效率
  • 原文地址:https://blog.csdn.net/mengwuyoulin/article/details/128135889