apifox设置获取token

一、登录后,后置获取token
apifox设置获取token

apifox设置获取token

apifox设置获取token

apifox设置获取token

apifox设置获取token

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

或者用获取变量方式赋值
apifox设置获取token

apifox设置获取token

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

apifox设置获取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();
}

apifox设置获取token

上一篇:《构建之法》阅读笔记2


下一篇:VUE.JS(vue)简单实现TAB标签栏高亮切换---