• Jmeter之if逻辑控制器(If Controller)


     概述

    类似于编程语言中if语句,根据给定表达式的值决定是否执行该节点下的子节点,表达式的值为true则执行,为false则不执行;默认使用javascript语法进行判断

     If控制器中的字段解释

    名称:控制器名称,可根据情况填写(填写的名字最好与if控制器下的业务相关,便于分辨)

    注释:可填可不填,可根据需要填写

    Expression(must evaluate to true of false):表达式,此处的值默认情况下必须是True或False

    Interpret Condition as Variable Expression?:默认勾选,当勾选时将条件解释为变量表达式,此时必须使用__jexl3 or __groovy 表达式;去掉勾选时,此处可直接填写条件表达式。黄色三角处的提示说明了默认勾选的优势。

    Evaluate for all children?:对其下所有子项有效,

    注意:

    1.条件判断语句若是字符串,则需要用引号包围参数

    ${__jexl3(条件表达式)}
    如:${__jexl3(${num} > 10)}、 ${__jexl3(“${num}” == “10”)}

    2.选择"Evaluate for all children?"代表该If控制器在每个子节点执行时都会执行一次,不选择则代表If控制器只在入口执行一次

    3.If Controller之下的请求才会受到If控制器的约束,若是平级则不会受约束;因此建议将业务请求放在If控制器之下进行测试

    默认用法示例

    当用例运行标志为Y时,则执行,否则不执行,条件表达式为${__jexl3("${is_run}"=="Y",)}

    去掉勾选,直接写入(单条件)示例

    接口与接口之间有些存在依赖关系,此处请求方式做了区分,则不存在依赖时则运行,否则另处理,表达式为 "${is_rely}"=="N"

     去掉勾选,直接写入(多条件)示例

    有些用例需要满足多个条件中的一个或者全部就执行,表达式"${model}"=="exportperson" || "${model}"=="adjustdepartment"

    备注

    1、当使用默认用法时,熟练的人可直接填写表达式,若不熟时可借助函数助手生成表达式

     

    2、单条件表达式:

    == 、> 、< 、>=、<= 、!=

    3、多条件表达式(不勾选Interpret Condition as Variable Expression?选项)

    || 或,&& 与

    "${model}"=="exportperson" || "${model}"=="adjustdepartment"

    "${model}"=="exportperson" && "${model}"=="adjustdepartment"

     温馨提示:欢迎加入软件测试学习交流QQ群:642466721

  • 相关阅读:
    Web For Pentester 学习笔记
    Vulhub Docker环境部署
    XSS 渗透思路笔记
    文件上传Upload 漏洞挖掘思路
    文件上传Upload 学习笔记
    XCTF-WEB-高手进阶区-upload1-笔记
    XCTF-WEB-高手进阶区-PHP2-笔记
    XCTF-WEB-高手进阶区-NaNNaNaNNaN-Batman-笔记
    XCTF-WEB-高手进阶区-Web_python_template_injection-笔记
    用JavaScript制作简单的计算器
  • 原文地址:https://www.cnblogs.com/DeryKong/p/13434769.html
Copyright © 2020-2023  润新知