Jmeter应用【json提取器】--提取结果列表里的数据作为下一个接口的传参

当我们需要上一个接口里面的数据作为下一个接口的传参时,需要用到json提取器;
当结果里面是json格式还有列表的多层关系就用下方的格式
![公式](https://img-blog.csdnimg.cn/20210107162816735.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1lvcmtpZV9MaW4=,size_16,color_FFFFFF,t_70

在这里插入图片描述

-1最后一个
0第一个
返回json存在多层数据提取
多个对象

多层Array提取

JMeter提取接口公共参数并作为传参,可按以下几种常见方法操作: ### 使用正则表达式提取器 正则表达式提取器可从响应数据提取所需的公共参数。 1. 在线程组下添加HTTP请求,发送请求获取响应数据。 2. 选中该HTTP请求,右键添加“后置处理器” -> “正则表达式提取器”。 3. 在正则表达式提取器中进行配置: - “引用名称”:给提取的参数取个名字,后续引用时使用。 - “正则表达式”:按照响应数据的格式编写正则表达式来匹配所需参数。例如,若响应数据为`{"token":"abc123"}`,要提取`token`的值,正则表达式可写成`"token":"(.+?)"`。 - “模板”:使用`$1$`表示提取一个分组的值。 - “匹配数字”:若响应中有多个匹配项,可指定提取第几个,`1`表示第一个,`-1`表示提取所有匹配项。 4. 在后续的HTTP请求中,使用`${引用名称}`来引用提取的参数。 示例代码(以正则表达式提取器配置为例): ```plaintext 引用名称: token 正则表达式: "token":"(.+?)" 模板: $1$ 匹配数字: 1 ``` ### 使用JSON提取器 若响应数据JSON格式,使用JSON提取器会更方便。 1. 同样先添加HTTP请求获取响应。 2. 选中该HTTP请求,右键添加“后置处理器” -> “JSON提取器”。 3. 在JSON提取器中配置: - “引用名称”:为提取的参数命名。 -JSON路径表达式”:依据JSON数据结构编写JSON路径来定位所需参数。例如,对于`{"user": {"id": 123, "name": "John"}}`,要提取`id`的值,JSON路径表达式可写成`$.user.id`。 4. 后续请求中使用`${引用名称}`引用参数。 示例代码(以JSON提取器配置为例): ```plaintext 引用名称: user_id JSON路径表达式: $.user.id ``` ### 使用CSS/JQuery提取器 如果响应是HTML格式,可使用CSS/JQuery提取器。 1. 添加HTTP请求获取HTML响应。 2. 选中该HTTP请求,右键添加“后置处理器” -> “CSS/JQuery提取器”。 3. 配置CSS/JQuery提取器- “引用名称”:参数命名。 - “CSS/JQuery表达式”:按照HTML结构编写CSS或JQuery表达式来定位参数。例如,若要提取`<input type="hidden" id="csrf_token" value="xyz789">`中的`value`值,表达式可写成`#csrf_token::attr(value)`。 4. 后续请求使用`${引用名称}`引用参数。 示例代码(以CSS/JQuery提取器配置为例): ```plaintext 引用名称: csrf_token CSS/JQuery表达式: #csrf_token::attr(value) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值