接口测试 jmeter 中数据提取的应用

周小丽 · 2022年06月23日 · 3909 次阅读

业务一:json 提取符合条件的返回值

1、选择指定的审批流

2、后端接口返回值如下:提取指定审批流的对应字段的值

3、json 配置

$.data[?(@.name=~/.*公共.*?/i)].id;$.data[?(@.name=~/.*公共.*?/i)].version;$.data[?(@.name=~/.*公共.*?/i)].name

表示:把name字段值包括 ‘公共’ 二字的所有data的json串取出来,然后再取json串中的id,version,name

业务二:循环控制器 + 计数器的使用

1、用户权限循环配置
如下图:首先不清楚审批流中有几重审批,然后每重审批配置方式都是一样的,因此需要用到自动循环审批

2、jmeter 配置如下

业务三:同一接口断言多个值(与的关系)

1、插件下载
Json List Element Assertion,放到目录…\lib\ext 下重启 JMeter 即可
2、如下填写的参数要求同时满足要求,断言值可部分为空,但不能全为空

3、可能需要下载依赖 JSON/YAML Plugins 这个插件

业务四:同一接口断言多个值(或的关系)

业务五:if 条件判断

jmeter 使用的时候有时需要我们判断是否满足前置条件,如果不满足则不执行,如果满足则直接使用
比如当查询到列表数据为空,则列表中的删除,查看操作不执行,因为该页面没有新增功能

1.不勾选 “interpret condition as variable expression”

直接表达式,判断表达式为真时,执行 if 控制器下的请求,例如 “1!=2”,则一定会执行下面的 http 请求

2.勾选 “interpret condition as variable expression”

这时 expression 中不能直接填写条件表达式,需要借助函数将条件表达式计算为 true/false,可以借助的函数有 _jexl2、jexl3、_groovy,例如:直接填写 ${modelId}==5,是不能识别的

业务六:JSON 提取器- 提取多个变量值

$.data.contractList.[?(@.modifyBtn=='2')].["contractId","contractNo"]
表示:提取 modifyBtn 的值等于 2 时的 contractId 和 contractNo 多个值

业务五:变量字符截取


${__javaScript("${areaid}".substring(6\,9),)}

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册