JMeter从HTTP接口返回的参数中获取数据 - 使用Json提取器

发布时间:2023-10-18 08:30

Http接口返回的数据,一般都是json格式的,如果需要提取出其中的某个数据,作为后续其他接口的入参,那么可以使用json提取器。

一、从接口中提取一个数据

以登录接口为例,当登录成功后接口会返回一个token,如下图所示这样的,后续其他接口会使用该token作为header入参使用
JMeter从HTTP接口返回的参数中获取数据 - 使用Json提取器_第1张图片
那么在jmeter的login http请求下,新添加一个json提取器
JMeter从HTTP接口返回的参数中获取数据 - 使用Json提取器_第2张图片
json提取器中进行如下配置:
JMeter从HTTP接口返回的参数中获取数据 - 使用Json提取器_第3张图片
其中$,代表根元素
其中$.data.accessToken,就代表我要获取到的参数
将获取到的值赋给变量token,那么后续的接口中就可以使用${token}来作为入参了

二、从接口中提取多个不同参数

如果需要从一个接口中,同时获取到多个不同参数,那么可以使用分号将多个变量隔开,如下所示:
JMeter从HTTP接口返回的参数中获取数据 - 使用Json提取器_第4张图片注意注意,此处Default Values必须为每个变量填写默认值,否则这个json提取器以及所在的http请求将不会被jmeter执行。

在Jmeter中添加一个调试取样器,jmeter执行完成后,在查看结果树中,就能看到获取到的变量值
JMeter从HTTP接口返回的参数中获取数据 - 使用Json提取器_第5张图片

三、从接口中提取多个相同参数

以某个商品列表页接口为例,列表中会有10个商品JMeter从HTTP接口返回的参数中获取数据 - 使用Json提取器_第6张图片
如果我想获取到这10个商品的id,那么可以使用如下方法配置
JMeter从HTTP接口返回的参数中获取数据 - 使用Json提取器_第7张图片
productList[*]这里的星号代表将所有的productList列表中的所有项的productId都获取出来

查看结果树中,获取到的变量值如下
JMeter从HTTP接口返回的参数中获取数据 - 使用Json提取器_第8张图片

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号