postman利用pre-request script自动设置token

场景:

我们请求接口:/api/rest/user/list获取用户列表,但是该接口需要在header中带上Authorization表示的鉴权Token才行。

而登录接口/api/rest/login,则可以返回改Token

常规方案

我们先调登录接口/api/rest/login获取到Token,再在请求用户列表时,手动拷贝Token放到header中,再发送请求。

自动化方案

我们直接写一段脚本,自动获取Token并设置到header中

java 复制代码
pm.sendRequest({
    url: "127.0.0.1:8080/api/rest/login",
    method: 'POST',
    header: {
        'Accept': 'application/json',
        'Content-Type': 'application/json',
    },
    body: {
        mode: 'raw',
        raw: '{"username":"admin","password":"123456"}'
    }
}, function (err, res) {
    // 提取 Response Body 中的 token 值, 并添加到 Headers 中
    pm.request.headers.add({ key: 'Authorization', value: res.json().accessToken })
});

另外如果是想利用用户名、密码的变量,还可以写成:

java 复制代码
pm.sendRequest({
    url: "https://{your url to get token}",
    method: 'POST',
    header: {
        'Accept': 'application/json',
        'Content-Type': 'application/json',
    },
    body: {
        mode: 'raw',
        raw: JSON.stringify({ username: "username", password: "password" })
    }
}, function (err, res) {
    // 提取 Response Body 中的 token 值, 并添加到 Headers 中
    pm.request.headers.add({ key: 'Token', value: res.json().accessToken })
});
相关推荐
星星码️2 天前
博客系统 Web 端测试报告:功能、自动化与性能
功能测试·测试工具·压力测试·模块测试·测试覆盖率
han68892 天前
selenium之实战
笔记·python·selenium·测试工具·自动化
Madison-No72 天前
多语言聊天大模型--测试报告
linux·git·python·selenium·jmeter·自动化·postman
.又是新的一天.2 天前
AI接口测试03(操作数据库/管理文档/mock/自动化测试/定时任务/AI导师)
软件测试·测试工具·接口测试·apifox
Wokoo72 天前
自动化测试入门:核心场景、回归测试与 Web 自动化环境搭建
java·开发语言·测试工具
德思特2 天前
德思特混频器参数详解:5MHz–40GHz 宽频段与低噪声 LO 设计
测试工具·自动化·射频工程
wuyk5553 天前
《WiFi 嵌入式物联网开发全套实战》| 第 33 章 Wireshark 无线抓包环境搭建、802.11 帧过滤规则
物联网·测试工具·wireshark
我的xiaodoujiao5 天前
Django 基础知识详细图文教程 13-Django 模型定义与使用 3
数据库·后端·python·测试工具·oracle·django