zoukankan      html  css  js  c++  java
  • jmeter压测学习45-逻辑控制器之如果(If)控制器

    前言

    当遇到需要对不同的条件做不同的操作时,我们可以使用 JMeter 中 if 控制器来实现。

    如果(If)控制器

    线程组-添加-逻辑控制器-如果(If)控制器

    • Expression(must evaluate to true or false) 表达式必须为true或false
    • interpret condition as variable expression 勾选表达式为true 执行,为false不执行。不勾选表达式正确,执行,表达式不正确,不执行
    • evaluate for all children 如果选中这一项,在每个子结点执行前都会计算表达式

    表达式通过jexl3或者groovy转成true或false结果,条件格式:${__jexl3(条件表达式)}:

    • == 是否等于, 如${__jexl3(${VAR}==1,)},判断${VAR}变量是否等于1
    • !=不等于, 如${__jexl3(${VAR}!=1,)},判断${VAR}变量是否不等于1
    • !非, 如${__jexl3(!(${VAR}!=1),)}对${VAR}!=1的结果取反
    • &&或||且与或, 如 ${__jexl3(${VAR}==1 && ${name} != "heima",)}
    • >或者>== 大于等于, 如${__jexl3(${count}>=10,)}

    Expression 为true或false

    勾选 interpret condition as variable expression ,表达式可以直接输入true,请求A会执行,输入false,请求B不会执行

    运行后只有请求A会执行

    jexl3 或groovy 函数

    勾选 interpret condition as variable expression ,表达式可以通过__jexl3__groovy 函数转成 true 或 false 结果

    先定义一个变量user 值为admin

    添加条件判断 user 为 "admin" 的时候,执行请求A

    // 使用__jexl3 函数
    ${__jexl3("${user}"=="admin",)}
    // 或者使用__groovy函数
    ${__groovy("${user}"=="admin",)}
    

    表达式结果为 true 执行请求A

    判断语句

    如果不勾选 interpret condition as variable expression ,可以直接使用判断语句,不需要用'__jexl3 '或'__groovy' 函数

    但这样会有黄色的警告,一般不推荐

    函数助手

    如果不会写__jexl3__groovy 函数,可以使用函数助手自动生成
    Tools - 函数助手对话框

    选择一个功能__jexl3函数,输入表达式,点生成按钮

    这样把生成的函数复制出来就可以了:${__jexl3("${user}"=="admin",)}

  • 相关阅读:
    CF611C New Year and Domino
    CF706C Hard problem (状态机dp)
    CF467C George and Job (dp)
    Vue的响应式系统
    如何更好的使用js?
    关于JS变量和作用域详解
    运算符的应用及流程控制if,switch语句
    js闭包
    js的基础
    js的使用及语法
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/14281391.html
Copyright © 2011-2022 走看看