zoukankan      html  css  js  c++  java
  • 解决postman环境切换,自动获取api签名时间及签名

    postman调试api接口时,常遇到两个问题:

      1.环境分为开发环境,测试环境,正式环境,如何只写一个接口,通过切换postman环境来实现不同环境的接口调用?

      2. api接口请求时往往会添加,来源(Source),签名时间(Sign-Time),签名(Sign).同一个接口不同时间段请求,签名时间,签名也不同,如何实现每次自动获取签名时间,签名?

    案例及解决:

      问题1:postman中可以设置环境,在不同的环境分别设置环境变量(url),然后在接口中使用 {{url}}来替换. 如下图

     

     

    问题2:因本人签名时间/签名放在请求头里,以下以此为例.

    1).可以在postman全局变量或环境变量增加key/value 分别对应如下 wdsign/js代码,代码如下

    var wdsign = {
        getSource: function() {
            var source = pm.environment.get('Source');
            if(source === undefined)
            {
                source = 'default_source';
                pm.environment.set("Source", source);
            }
            return source;
        },
        getSignTime: function() {
            return parseInt(new Date().getTime() / 1000);
        },
        getSign: function(source, signTime) {
            let data = request.data;
            let dataString = ''
            if (typeof data === 'object') {
                Object.keys(data).sort().forEach(function(ele, index) {
                    let value = data[ele]
                    if (typeof value === 'object') {
                        value = JSON.stringify(value)
                    }
                    dataString += ele + '=' + value
                })
            }
            dataString += source;
            dataString += signTime;
            return  CryptoJS.MD5(dataString).toString();;
        },
        run: function() {
            var source = this.getSource();
            var signTime = this.getSignTime();
            var sign = this.getSign(source, signTime);
            pm.environment.set("Sign-Time", signTime);
            pm.environment.set("Sign", sign);
        }
    }

    2).在请求头中分别对应设置如下

    3).在Pre-requestScript添加,代码如下

    eval(globals.wdsign);
    wdsign.run();
  • 相关阅读:
    使用QQ邮箱发送邮件,QQ邮箱的smtp设置
    Linux常用命令
    Pycharm批量查找替换功能
    HTML/CSS学习笔记
    什么样的人适合做自动化测试
    如何测试一个WEB的输入框?
    我收集的学习网站
    SQL查询练习(一)
    linux消息队列应用编程
    linux共享内存简单介绍以及编码演示
  • 原文地址:https://www.cnblogs.com/duandian/p/9375684.html
Copyright © 2011-2022 走看看