ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

apifox设置获取token

2021-12-31 18:02:18  阅读:961  来源: 互联网

标签:body const get 获取 token apifox pm


一、登录后,后置获取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();
}

在这里插入图片描述

标签:body,const,get,获取,token,apifox,pm
来源: https://blog.csdn.net/hkduan/article/details/122259926

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有