Jmeter 使用Json提取请求数据-2

发布时间:2022-06-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Jmeter 使用Json提取请求数据-2脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

在接口测试中有一个这样的场景:业务接口需要用到登录token;下个接口需要用到前个接口返回值作为参数,该怎么实现?

首先先看下登录、业务接口,本文用的jmeter版本为5.4.1

 

一、json提取器设置变量获取数据

1、先添加登录接口,运行查看响应结果

@H_304_14@

 

 JSON path表达式怎么写?例如我要获取token,可写$data.token,$表示根元素,然后一级一级属性往下去找,先找到data,再往下子节点找到token;也可以写成$..token,直接从根元素去递归查找token。

Jmeter 使用Json提取请求数据-2

 

 

Jmeter 使用Json提取请求数据-2

 

 2、右键登录请求-->后置处理器-->添加“JSON提取器”

Jmeter 使用Json提取请求数据-2

JSON提取器说明:

Apply to:应用范围

Names of created VARiables :接收值的变量名,自定义,多个变量用分号分隔 

JSON Path exPression json path表达式,也是用分号分隔 

Match No.(0 for Random)0表示随机;n取第几个匹配值;-1匹配所有。若只要获取到匹配的第一个值,则填写1

Compute concatenation var(suffix_ALL):如果找到许多结果,则插件将使用' , '分隔符将它们连接起来,并将其存储在名为<variable name> _ALL的var中

Default Values: 缺省值,匹配不到值的时候取该值,可写error。

为了检查通过json提取器是否正常获取到值,可添加Debug PostPRocessor来检查。

Jmeter 使用Json提取请求数据-2

 

 3、添加查询接口,将json提取器获取到的值,进行变量引用

Jmeter 使用Json提取请求数据-2

 

 点击运行接口,运行成功

Jmeter 使用Json提取请求数据-2

 

 二、json提取器设置一个变量获取多个数据

1、例如从“默认页面查询接口”返回中获取所有name

Jmeter 使用Json提取请求数据-2

 

 如果想要获取这里所有的name,json路径表达式怎么写?$..name或者$.data.records[*].orgName

Jmeter 使用Json提取请求数据-2

 

 2、添加json提取器,获取所有name信息

Jmeter 使用Json提取请求数据-2

 

 添加Debug PostProcessor来调试用,正常跑用例删除或禁用它。可查看到获取到了所有name值。通过name_1,....name_10可得到每一个name。

Jmeter 使用Json提取请求数据-2

 

 3、将获取到的每一个name循环进行查询

1)添加循环控制器,设置循环次数

Jmeter 使用Json提取请求数据-2

 

 2)在循环控制器之下添加“输入查询接口”,并做以下设置

因为也是业务接口,需要调用token,所以这里也加一下。

Jmeter 使用Json提取请求数据-2

 

因为要把JSON提取器中匹配到的name_1,....name_10循环传递给“用户流水记录”,

__counter为jmeter自带的一个计数函数,${__counter(,)}引用这个函数,每运行1次+1,从1开始

name_${__counter(,)}运行第1次name_1,运行第2次name_2,以此类推,直到运行到循环次数name_10

__V为jmeter自带的一个嵌套变量函数,运行第1次name_${__counter(,)}为name_1,${__V(name_${__counter(,)},)}则为${name_1},值10;以此类推,一直循环到${name_10}

 

Jmeter 使用Json提取请求数据-2

 

3)运行结果查看

 

Jmeter 使用Json提取请求数据-2

 原文:https://www.cnblogs.COM/datacenter/p/15043104.htML?share_token=7689bffe-9368-486e-a449-4c07451d64ce

脚本宝典总结

以上是脚本宝典为你收集整理的Jmeter 使用Json提取请求数据-2全部内容,希望文章能够帮你解决Jmeter 使用Json提取请求数据-2所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。