关于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数据啦

相关推荐
Feng.Lee7 小时前
聊一聊接口测试中缓存处理策略
功能测试·测试工具·缓存
HAPPY酷1 天前
selenium基础
selenium·测试工具
天才测试猿1 天前
Selenium操作指南(全)
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
白嫖不白嫖1 天前
Selenium基础操作方法详解
selenium·测试工具
哈哈哈哈哈哈哈哈哈...........2 天前
【软件】在 macOS 上安装 Postman
测试工具·macos·postman
mizuhokaga2 天前
Postman 发送 SOAP 请求步骤 归档
测试工具·postman
测试19982 天前
接口自动化测试用例的编写方法
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
Suresoft China2 天前
软件测试|FIT故障注入测试工具——ISO 26262合规下的智能汽车安全验证引擎
测试工具·autosar·功能安全·iso26262·故障注入测试
not coder3 天前
Postman 是什么
测试工具·postman
Tom Boom3 天前
进阶知识:Selenium底层原理深度解析
自动化测试·selenium·测试工具·自动化测试框架·底层原理