美文网首页
Postman之token动态获取

Postman之token动态获取

作者: 小码农薛尧 | 来源:发表于2018-11-13 01:12 被阅读0次

目前项目涉及PC及APP端接口共用问题,后台接口给登陆后的用户设置了一个token,接口调用时请求头的参数值必须要动态生成,为了解决这个问题,查看Postman API文档,配置了可以方便后端开发者的Tests脚本,如果你需要,请按下面方式配置。

用户登陆

用户登陆页面的请求头参数为固定不变,如图所示

image

当填写正确的用户名和密码时,系统用返回如下图的数据,里面携带token的值,如图所示

image

在用户登陆测试接口页面,在点击Tests,在里面添加下面代码,如图所示:


image
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});
var data = JSON.parse(responseBody);

//key值
var key = '要加密的Key';
//current-timestamp
var currentTimestamp =  new Date().getTime().toString();
//nonce-str
var nonceStr = getStr(32);

function getStr(len){
    len = len || 32;
    var chars = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    var maxPos = chars.length;
    var s = '';
    for (let i = 0; i < len; i++) {
        s += chars.charAt(Math.floor(Math.random() * maxPos));
    }
    return s;
}

//token
var token = data.data.token;
//拼接加密字符串
var signStr = token + currentTimestamp.substring(0,10) + nonceStr.substring(0,16) + key;
var CryptoJS = require('crypto-js');
var lpSign = CryptoJS.MD5(signStr).toString();

// 设置环境变量token,供后面的接口引用
pm.environment.set("token", data.data.token);
// 设置环境变量current-timestamp,供后面的接口引用
pm.environment.set("current-timestamp", currentTimestamp);
// 设置环境变量current-timestamp,供后面的接口引用
pm.environment.set("nonce-str", nonceStr);
// 设置环境变量current-timestamp,供后面的接口引用
pm.environment.set("lp-sign", lpSign);</pre> 

配置环境变量,因为每个接口都涉及请求头,所有我们用不用Postman中的环境变量,来实现,请求头动态更新
步骤如下
1、 打开设置

image

2、 添加新环境

image

3、 添加环境变量

image

保存环境变量,在调用其它接口时,先选择环境,如下图所示

image

当Postman调用登陆接口时,会自动把缺少的环境变量值都添充完整,如下图所示

image

调用其它接口时,请求头引用环境变量,具体语法如下图所示


image

这样我们以后,调用其它接口,就不用每次都修改请求头数据,只要引用环境变量就完美解决问题。

注:老版本Postman有问题,本测试版本为6.5.2

相关文章

  • Postman之token动态获取

    目前项目涉及PC及APP端接口共用问题,后台接口给登陆后的用户设置了一个token,接口调用时请求头的参数值必须要...

  • Postman访问kube-apiserver

    获取Token具体操作参考 创建kube-dashboard管理员 拿到token后,可以通过postman来调试...

  • There is no PasswordEncoder mapp

    (1) 问题描述 使用 postman 执行 POST请求获取访问令牌 URI(/oauth/token)时,响应...

  • postman初入门

    这篇文章的目的有两个 postman的基本使用 在登录接口中获取token并保存在环境变量中 postman的使用...

  • Postman测试带cookie

    在测试接口时,需要先登录获取token,然后才能测试其它接口。在Postman中添加cookie的方法如下图 注意...

  • Spring-cloud-oauth2 之 /oauth/to

    Spring-cloud-oauth2 之 /oauth/token 是怎样获取到token的呢? 查看源码大...

  • postman学习系列之获取token至环境变量

    我这是学习笔记,所以就没有冗余的介绍,直接记录操作方法及结果。先获取项目的接口信息,一般都会有接口文档或接口说明。...

  • PostMan 动态配置域名及处理token过期

    一、背景 1、 我们的app项目,请求业务接口前,需要在头部带上token请求,但是token的是时效性只能保持1...

  • postman的使用教程

    获取Postman For Windows 上述连接可以获取postman软件包,然后直接下载即可使用,相比于ch...

  • [转载]Postman全教程

    Postman之Settings Postman小技巧与快捷键 Postman之集合(collections) P...

网友评论

      本文标题:Postman之token动态获取

      本文链接:https://www.haomeiwen.com/subject/llahfqtx.html