Apifox设置全局动态token

由于版本不一样可能看到的界面不一样

pm.test("Status code is 200", function () {
          
   
    pm.response.to.have.status(200);
});

// 把responseBody转为json字符串
var data = JSON.parse(responseBody);
// 设置环境变量token,供后面的接口引用,位置就是上一步获取的位置
pm.globals.set("token", data.result.token);

在不登录的情况下获取token 就需要前置操作了 操作和上面后置操作一样的 不一的只在脚本

//   body 里面的参数需要自己设置对应的
// 定义发送登录接口请求方法
function sendLoginRequest() {
    // 获取环境里的 前置URL
    // const baseUrl = pm.environment.get(BASE_URL);
    // 登录用户名,这里从环境变量 LOGIN_USERNAME 获取,也可以写死(但是不建议)
    // const username = pm.environment.get(LOGIN_USERNAME);
    // 登录用户名,这里从环境变量 LOGIN_PASSWORD 获取,也可以写死(但是不建议)
    // const password = pm.environment.get(LOGIN_PASSWORD);
    // 构造一个 POST x-www-form-urlencoded 格式请求。这里需要改成你们实际登录接口的请求参数。
    const loginRequest = {
        url: http://localhost:8080/sbimes/sys/login,
        method: POST,
        // 若 body 为 x-www-form-urlencoded 格式,mode 为 urlencoded
        // body: {
        //     mode: urlencoded,
        //     urlencoded: [
        //         { key: account, value: username },
        //         { key: password, value: password }
        //     ]
        // }
        /*
        // 若 body 为 form-data 格式,mode 为 formdata
        body: {
          mode: formdata,
          formdata: [
            { key: account, value: username },
            { key: password, value: password }
          ]
        }*/
        // 若 body 为 raw 或 json 格式,mode 为 raw
        body: {
            mode: raw,
            raw: JSON.stringify(
                { 
                    "username":"admin",
                    "password":"123456",
                    "captcha":"",
                    "checkKey":""})
        }

    };

    // 发送请求。 
    // pm.sendrequest 参考文档: https://www.apifox.cn/help/app/scripts/api-references/pm-reference/#pm-sendrequest
    pm.sendRequest(loginRequest, function (err, res) {
        if (err) {
            console.log(err);
        } else {
            // 读取接口返回的 json 数据。
            // 如果你的 token 信息是存放在 cookie 的,可以使用 res.cookies.get(token) 方式获取。 
            // cookies 参考文档:https://www.apifox.cn/help/app/scripts/api-references/pm-reference/#pm-cookies
            const data = JSON.parse(res);
            // 将 accessToken 写入环境变量 ACCESS_TOKEN
            pm.globals.set(token, data.result.token);
            
        }
    });
}

// 获取环境变量里的 ACCESS_TOKEN
const token = pm.globals.get(token);

// 获取环境变量里的 ACCESS_TOKEN_EXPIRES
// const accessTokenExpires = pm.environment.get(ACCESS_TOKEN_EXPIRES);

// 如 ACCESS_TOKEN 没有值,或 ACCESS_TOKEN_EXPIRES 已过期,则执行发送登录接口请求
if (!token) {
    sendLoginRequest();
}
经验分享 程序员 微信小程序 职场和发展