jmeter中,上一个接口获取的token传递给下个接口

本文介绍如何使用JSON提取器从API返回的报文中提取Token,并将其添加到请求头中。包括配置JSON提取器的具体步骤及说明。

1、现在获取token的接口下面添加一个JSON提取器,如图中所示

2、查看获取token的接口的返回报文,看到里面有token这节点

3、在json提取器中将返回报文中的token提取出来

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。

4、$.data.userInfo.token的解释

$相当于是根节点,然后一级一级的去找你要的参数

5、最后把token添加到报文头里面去

 

6、OK就成功了

 

文章部分摘抄自 https://www.cnblogs.com/tudou-22/p/12579575.html

 

JMeter 中实现接口间参数传递的关键在于使用**后置处理器**来提取响应中的值,并通过变量将其传递给后续请求。以下是如何使用 **JSON 提取器** 来提取前一个接口响应中的特定值,并在后续请求中使用的完整流程。 ### 1. 添加 JSON 提取器 假设你已经有一个 HTTP 请求(比如登录接口),其响应内容为 JSON 格式,如下所示: ```json { "token": "abc123xyz", "userId": 12345, "status": "success" } ``` 你需要从该响应中提取 `token` 字段用于后续请求的 Header 或参数中。 - 在测试计划中找到对应的 HTTP 请求采样器。 - 右键点击该请求 → “添加” → “后置处理器” → “JSON 提取器”。 在 JSON 提取器配置面板中填写以下信息: - **名称**:任意,例如 `Extract Token` - **JSON 路径表达式**:`$.token` (表示提取顶层字段 `token`) - **匹配规则**: - 如果只期望一个结果,保持默认值 `0`。 - 如果有多个结果并需要随机选择一个,可以设置为 `-1` 并结合 `token_matchNr` 使用。 - **变量名称**:例如 `authToken`,这样提取出的值会存储在 `${authToken}` 中。 ### 2. 在后续请求中使用提取的值 在下一个 HTTP 请求中(如获取用户信息接口),你可以将提取到的 `token` 值用于请求头或请求参数中。 #### 示例:在请求头中使用 - 打开后续请求的“HTTP 信息头管理器”或直接在请求的“头信息”部分添加: ``` Authorization: Bearer ${authToken} ``` #### 示例:在请求参数中使用 如果接口要求将 token 作为查询参数或表单参数传递,可以在请求参数栏中填写: ``` token=${authToken} ``` ### 3. 验证提取是否成功 为了验证提取是否成功,可以添加一个“调试取样器”(Debug Sampler)和“查看结果树”监听器来查看变量的值。 - 添加 Debug Sampler,它会显示所有当前上下文中的变量。 - 查看响应数据中的 `authToken` 是否包含预期的 token 值 [^4]。 ### 4. 完整示例结构 ``` Thread Group ├── HTTP Request (Login) │ └── JSON Extractor (提取 token) ├── Debug Sampler └── HTTP Request (Use Token in Headers or Params) ``` 通过上述步骤,即可实现在 JMeter 中提取前一个接口响应中的特定值并在后续请求中使用,适用于包括 Token、动态 ID 等多种场景 [^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值