APIFOX设置token

Posted 程序员超时空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();

以上是关于APIFOX设置token的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Apifox 来管理测试你的接口

Apifox 学习笔记 - 前置操作

Apifox 学习笔记 - 前置操作

超越Postman,新一代国产调试工具Apifox,用起来够优雅

Apifox写接口自动化测试用例总结-2

用了国产接口管理神器 Apifox 之后,我果断从 Postman “脱坑”了