You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自动化处理Newman+Postman测试中的动态Bearer Token授权?

解决Newman自动化测试中动态Bearer Token的授权问题

我之前也碰到过一模一样的问题,其实只要结合Postman的环境变量和脚本能力,再配合Newman就能轻松搞定动态Token的自动化授权流程,具体操作步骤如下:

1. 在Postman中配置Token获取请求

首先得有一个专门用来获取授权Token的请求(比如命名为获取Auth Token),这个请求就是你平时用来登录或者获取Bearer Token的接口:

  • 发送请求后,在该请求的Tests标签页中添加脚本,把返回的Token存入环境变量:
// 这里要根据你实际的接口返回结构调整,假设返回JSON里的access_token就是我们要的Token
const responseData = pm.response.json();
pm.environment.set("bearerToken", responseData.access_token);

这段脚本会自动把接口返回的Token提取出来,存入名为bearerToken的环境变量中。

2. 给其他测试请求绑定动态Token

接下来,把所有需要Bearer授权的请求都配置成引用这个环境变量:

  • 打开目标请求的Authorization标签页,授权类型选择Bearer Token;
  • 在Token输入框中填入{{bearerToken}},这样Postman(以及Newman)运行时会自动替换成刚才存入的动态Token值。

3. 导出Postman集合与环境文件

要让Newman能运行你的测试,需要导出两个关键文件:

  • 导出你的测试集合(Collection)为JSON文件,比如命名为api-test-collection.json;
  • 导出对应的环境(Environment)为JSON文件,比如test-env.json(环境里可以预先配置API地址、用户名密码这类固定变量,Token初始值可以留空)。

4. 使用Newman执行自动化测试

最后在终端里运行Newman命令,指定你的集合和环境文件即可:

newman run api-test-collection.json -e test-env.json

Newman会按照集合里的请求顺序执行,先跑Token获取请求,把Token存入环境变量,后续的测试请求就会自动使用这个动态生成的Token完成授权了。

额外注意事项

  • 如果Token有过期时间,可以在Token获取请求的Tests脚本里添加过期时间判断,或者在集合的Pre-request Script里实现Token自动刷新逻辑;
  • 要是授权接口需要用户名、密码这类参数,建议也把它们存到环境变量里(比如{{test-username}}、{{test-password}}),这样切换测试环境时只需要修改环境文件就行,不用改请求本身;
  • 如果需要生成测试报告,可以给Newman命令加上报告参数,比如--reporters html --reporter-html-export report.html,就能生成直观的HTML测试报告。

内容的提问来源于stack exchange,提问作者Zed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:49:31