zoukankan      html  css  js  c++  java
  • Postman之token动态获取

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

    用户登陆

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


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


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

    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、 打开设置

    2、 添加新环境

    3、 添加环境变量


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

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

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

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

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

  • 相关阅读:
    spring-pool.xml
    spring-jmx.xml
    spring-common.xml
    applicationContext.xml
    spring-webservice.xml
    webservice统一认证
    jdbc.properties
    oracle,mysql分页
    springmvc-servlet.xml
    四、用“”或构造函数创建Java的String区别
  • 原文地址:https://www.cnblogs.com/loveyous/p/9950070.html
Copyright © 2011-2022 走看看