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 })
});
相关推荐
krack716x3 小时前
Wireshark基本使用
网络·测试工具·wireshark
新时代牛马8 小时前
tcpdump 的用法
网络·测试工具·tcpdump
waves浪游1 天前
论坛系统测试报告
测试工具·测试用例·bug·测试
测试老哥2 天前
Selenium使用指南
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
Lilith的AI学习日记2 天前
纳米AI搜索体验:MCP工具的实际应用测试,撰写报告 / 爬虫小红书效果惊艳
人工智能·测试工具·aigc·ai编程
可了~2 天前
使用 Selenium 截图功能,截不到原生 JavaScript 弹窗
selenium·测试工具
s甜甜的学习之旅3 天前
浏览器开发者工具Network面板中复制请求的相关信息(结合PostMan)
测试工具·postman
Kusunoki_D3 天前
在 Win11 下安装 Wireshark 的详细步骤
测试工具·wireshark
程序员小远3 天前
Jenkins+Newman实现接口自动化测试
自动化测试·软件测试·python·测试工具·职场和发展·jenkins·测试用例