关于Postman自动获取token

在使用postman测试联调接口时,可能每个接口都需要使用此接口生成的令牌做Authorization的Bearer Token验证,最直接的办法可能会是一步一步的点击,如下图:

在Authorization中去选择''Bearer Token'',然后将获取到的token粘贴在输入框中,才可以请求接口;

这样的操作虽然可以进行,也能请求成功,获取到自己想要的数据,但是在接口量较多的情况下显然逐步操作填写token比较费时费力,为了进一步提高效率,我们可以通过实时自动获取token来直接请求接口

在 Postman 中,每次手动修改 Token 确实很麻烦,尤其是当 Token 过期或需要频繁测试接口时。为了自动化获取和配置 Token,可以通过 Postman 的 环境变量Pre-request Script 功能来实现。以下是具体步骤:

  1. 开 Postman,点击右上角的 Environment Quick Look (眼睛图标)或者左侧菜单栏的Environments。

  2. 点击 Add 创建一个新的环境(例如命名为 My API Environment)。

  3. 在环境变量中添加一个变量,比如 token,用于存储 Token 值。

  4. 有一个获取Token的接口,url method body;

  5. 配置获取Token的请求 :在 Postman 中创建一个新的请求,命名为 Get Token;填写获取 Token 的接口信息(URL、Method、Body 等);在 Tests 标签页中,编写脚本将 Token 保存到环境变量中:

    // 解析响应数据
    const response = pm.response.json();

    // 检查响应中是否包含 Token
    if (response.token) {
    // 将 Token 保存到环境变量
    pm.environment.set("token", response.token);
    console.log("Token 已保存到环境变量:", response.token);
    } else {
    console.log("响应中未找到 Token");
    }

注意事项

  • 确保接口的响应数据中包含 token 字段。

  • 如果接口返回的字段名不是 token,需要根据实际字段名修改脚本(例如 response.access_token)。

6.如果 Token 有过期时间,可以在每次请求前检查 Token 是否过期,并自动获取新的 Token。

6_1.在 Pre-request Script 中编写脚本:

复制代码
// 检查 Token 是否存在或过期
const token = pm.environment.get("token");
const tokenExpiry = pm.environment.get("token_expiry"); // 假设你存储了 Token 过期时间

if (!token || (tokenExpiry && new Date(tokenExpiry) < new Date())) {
    // 如果 Token 不存在或过期,发送获取 Token 的请求
    pm.sendRequest({
        url: '登录接口或者是专门获取token的接口',
        method: 'POST',
        header: {
            'Content-Type': 'application/json'
        },
        body: {
            mode: 'raw',
            raw: JSON.stringify({
                username: "your_username",
                password: "your_password"
            })
        }
    }, function (err, res) {
        const response = res.json();
        // 保存新的 Token 和过期时间
        pm.environment.set("token", response.token);
        pm.environment.set("token_expiry", new Date(new Date().getTime() + response.expires_in * 1000)); // 假设返回了 expires_in
    });
}

7.在其他请求中使用token

7_1.在其他需要 Token 的请求中,可以通过 {``{token}} 引用环境变量中的 Token:

8.通过上述第五步 直接Send发送请求接口可以看到返回的相关的token 、expires_in等,创建的环境中token的值就会自动填写;当你在请求其他接口时就不需要手动的CVtoken数据啦

相关推荐
食咗未1 小时前
Linux tcpdump工具的使用
linux·服务器·网络·驱动开发·tcp/ip·测试工具·tcpdump
张永清-老清2 小时前
每周读书与学习->JMeter性能测试脚本编写实战(三)如何利用JMeter为MySQL数据库构造测试数据
数据库·测试工具·jmeter·压力测试·性能调优·jmeter性能测试·每周读书与学习
啊吧怪不啊吧3 小时前
2026年1月远程软件大比拼
测试工具
叶落无痕5218 小时前
Electron应用自动化测试实例
前端·javascript·功能测试·测试工具·electron·单元测试
程序员三藏19 小时前
接口自动化测试之 pytest 接口关联框架封装
自动化测试·软件测试·python·测试工具·测试用例·pytest·接口测试
测试界的海飞丝21 小时前
14:00面试,14:06就出来了,问的问题过于变态了。。。
测试工具·面试·职场和发展
时时刻刻看着自己的心1 天前
socket hang up postman报错
测试工具·postman
程序员小远1 天前
Postman接口测试详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
卓码软件测评1 天前
CMA-CNAS软件测评报告机构【Apifox动态Mock响应处理复杂业务逻辑设计】
测试工具·性能优化·单元测试·测试用例
小白学大数据1 天前
使用 Selenium 爬取京东手机销量与评分数据 (1)
爬虫·selenium·测试工具·智能手机