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 })
});
相关推荐
niuniu_66614 小时前
针对 Python 3.7.0,以下是 Selenium 版本的兼容性建议和安装步骤
开发语言·chrome·python·selenium·测试工具
可涵不会debug1 天前
JMeter接口性能测试从入门到精通
selenium·测试工具·jmeter·压力测试
lisw052 天前
AI驱动的测试自动化:智能测试工具全景评测
人工智能·测试工具·自动化
可可南木2 天前
BT-Basic函数之首字母T
开发语言·测试工具·pcb工艺
cuijiecheng20183 天前
音视频入门基础:MPEG2-PS专题(8)——使用Wireshark分析GB28181的PS流
测试工具·wireshark·音视频
Tipriest_3 天前
【前端扫盲】postman介绍及使用
前端·测试工具·postman
weixin_438732103 天前
Selenium 中 expected_conditions 模块详解:提升 Web 自动化测试效率的得力助手
selenium·测试工具
niuniu_6664 天前
简单的自动化场景(以 Chrome 浏览器 为例)
运维·chrome·python·selenium·测试工具·自动化·安全性测试
niuniu_6665 天前
Selenium 性能测试指南
selenium·测试工具·单元测试·测试·安全性测试
莓事哒5 天前
selenium和pytessarct提取古诗文网的验证码(python爬虫)
爬虫·python·selenium·测试工具·pycharm