IF逻辑控制器的使用

注:原文部分内容参考https://www.jianshu.com/p/9e3838cfb220

前提:IF逻辑控制器的使用

现在有一个添加用户的接口,将CSV配置文件中所有数据都取出来,并传入添加用户接口中,但是不传入login_name为IDO127的测试数据?

如果只传入CSV数据文件中小于IDO127的测试数据呢?

操作步骤:

1、我们在上一节示例脚本基础上添加一个IF逻辑控制器

1)默认写法(勾选Interpret Condition as Variable Expression?)使用带有变量的表达式

格式${__jex13("${login_name}"=="IDO123")}

2)(去掉Interpret Condition as Variable Expression?的勾选),直接写判断条件

"${login_name}"<="IDO127"

3)勾选Evaluate for allchildren?的用法,没有用过,大家可以自行探索

2、我们使用IF逻辑控制器的第二种用法(去掉Interpret Condition as Variable Expression?的勾选),直接写判断条件

"${login_name}"!="IDO127"、"${login_name}"<="IDO127",运行结果如图所示:

示例脚本:

链接: https://pan.baidu.com/s/121wHlzGVL0cARUDVwgXmVA 
提取码: ci7q

 

### 使用 JMeter 的 IF 控制器 #### 创建 IF 控制器 为了在 JMeter 测试计划中加入条件逻辑,可以通过线程组下的菜单路径创建 IF 控制器。具体操作是在线程组内选择“添加”,接着依次点击“逻辑控制器”和“如果 (If) 控制器”。这一步骤允许用户向测试脚本引入基于特定条件下运行的采样器[^2]。 #### 设置条件表达式 IF 控制器的核心在于其内部配置的条件语句。该条件支持多种语法结构,包括但不限于 JavaScript 表达式、函数调用以及预定义变量。例如,在处理涉及 token 验证的情况下,可以编类似于 `${__groovy(vars.get("token").equals("expectedValue"),)}` 这样的条件来验证某个变量是否等于预期值[^3]。 ```javascript ${__javaScript("${status}" == "success")} ``` 上述代码片段展示了如何利用内置函数 `__javaScript` 来比较两个字符串类型的变量。当此表达式的计算结果为真时,IF 控制器内的子元素才会被执行;反之则跳过这些组件。 #### 组合多条件判断 对于复杂场景可能需要组合多个条件才能满足业务需求。此时可以在单个 IF 控制器里通过逻辑运算符连接不同条件。比如要同时检查状态码和响应时间,则可构建如下形式: ```javascript "${responseCode}"=="200" && "${elapsedTime}"<5000 ``` 这里采用了 AND (`&&`) 操作符确保只有当 HTTP 响应码为 200 并且请求耗时不超出五秒时才继续执行后续动作[^1]。 #### 实现参数化测试案例 除了简单的布尔判断外,还可以借助 IF 控制器配合其他元件完成更高级别的自动化流程设计。例如针对含有动态变化的数据源(像 API 接口返回的不同 tokens),可通过预先设定好一系列候选值并结合循环机制逐一尝试直至找到匹配项为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值