全文提要
自动进行鉴权认证 在环境变量中填写鉴权请求参数

自动进行鉴权认证

在环境变量中填写鉴权请求参数

图片1.png

获取access_token脚本自动获取token并放到请求头中

图片2.png

每次发送请求前,都会执行这个获取access_token脚本

图片3.png

获取access_token的脚本代码

const { v4: uuidv4 } = require('uuid');
const moment = require('moment');

const access_token = pm.environment.get("access_token");
const accessTokenExpires = pm.environment.get("access_token_expires");

// 如 access_token 没有值,或 access_token_expires 已过期,则执行发送登录接口请求
if (!access_token ||
    (accessTokenExpires && moment().isAfter(accessTokenExpires))
) {
    sendLoginRequest();
}

// 定义发送登录接口请求方法
function sendLoginRequest() {
    // 获取环境里的 前置 URL
    const baseUrl = pm.request.getBaseUrl();
    const client_id = pm.environment.get("client_id");
    const client_secret = pm.environment.get("client_secret");
    const username = pm.environment.get("username");
    const accountId = pm.environment.get("accountId");

    const loginRequest = {
        url: baseUrl + "/kapi/oauth2/getToken",
        method: "POST",
        header: {
            "Content-Type": "application/json",
        },
        body: {
            mode: 'raw',
            raw: JSON.stringify(
                {
                    "client_id": client_id,
                    "client_secret": client_secret,
                    "username": username,
                    "accountId": accountId,
                    "nonce": uuidv4(),
                    "timestamp": moment().format('YYYY-MM-DD HH:mm:ss'),
                    "language": "zh_CN"
                }
            ),
        }
    };
    pm.sendRequest(loginRequest, function (err, res) {
        if (err) {
            console.log(err);
        } else {
            const jsonData = res.json();

            // 将 accessToken 写入环境变量 access_token
            pm.environment.set("access_token", jsonData.data.access_token);

            var access_token_expires = moment().add(6, "hours");

            // 将 accessTokenExpires 过期时间写入环境变量 access_token_expires
            pm.environment.set(
                "access_token_expires",
                access_token_expires
            );

            console.log("自动获取token成功!");
        }
    });
}

一键切换不同的环境

点击右上角切换环境

图片4.png

不同的环境可以分别设置不同的环境变量和环境地址

图片5.png

自动生成测试数据

自动读取动态值或变量

图片6.png