一、前提

在接口测试中,我们通常会遇到要根据不同的条件,来执行不同的接口。
比如一个登录接口,需求:同一个账号只能登录一台设备,超过则需要移除设备才可登录。

Created with Raphaël 2.3.0 登录 if设备达到上限 移除设备 登录成功 yes no

二、实例



如果(if)控制器:根据填写的表达式的值(true或false),来决定控制器下的元件是否执行;true就执行,false就不执行


我的接口每次设备达到上限时,都会返回"code":5015,那么我们只要在登录的时候判断code=5015,为true,执行移除设备接口,否则不执行。


1.先使用json提取器提取code。

在这里插入图片描述


2.将我们的条件写清楚:${code}==5015 为true,然后打开函数助手,选择groovy,输入表达式,最后点击生成,会自动复制到剪贴板。

在这里插入图片描述


3.添加-逻辑控制器-如果(if)控制器:

在这里插入图片描述


3.将结果粘贴到控制器中,勾上Interpret Condition as Variable Expression 。(勾选后需要使用 ${__jexl3 } 或 ${__groovy } 函数来计算表达式结果)。
Evaluate for all children:条件作用于每个子项,如果选中这一项,在控制器下每个元件执行时,都需要判断一下。
在这里插入图片描述

4.调整一下接口,在if控制器下添加移除设备接口与登录接口,则大功告成。

在这里插入图片描述





三、jmeter如何让接口按顺序执行

如果想让接口按顺序执行,则只需要在测试计划下勾选“独立执行每个线程组”即可。

在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐