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

场景:

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

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

常规方案

我们先调登录接口/api/rest/login获取到Token,再在请求用户列表时,手动拷贝Token放到header中,再发送请求。
postman利用pre-request script自动设置token_第1张图片

自动化方案

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

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 })
});

postman利用pre-request script自动设置token_第2张图片

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

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 })
});

你可能感兴趣的:(IDE,postman,测试工具)