美文网首页
Postman高级技巧:Pre-Request Script

Postman高级技巧:Pre-Request Script

作者: 莴牛 | 来源:发表于2021-05-20 20:42 被阅读0次

    最近使用postman调试接口时,遇到个问题,接口需要签名。每次调试的时候都需要服务端来查看签名然后再提交到postman里面进行请求,非常麻烦!

    查看官方文档,发现了Pre-Request Script这个工具,就研究了下,下面是具体实现的步骤。

    参数部分.png 脚本部分.png

    话不多说,上代码!代码逻辑是获取参数后排序后和秘钥拼接,然后md5转大写,由于js不熟,以下代码有点繁琐!

    //pm.collectionVariables.set("time", new Date())
    
    var paramKey = [];
    var paramQuery = '';
    var data = {};
    // 获取请求部分的参数
    if ('POST' == pm.request.method) {
        data = pm.request.body.urlencoded.toObject();
    } else {
        data = pm.request.url.query.toObject();
    }
    
    // 把参数放入数组进行key排序
    for (item in data) {
        if ('sign' == item) {
            continue;
        }
        paramKey.push(item);
    }
    paramKey.sort();
    for (const key of paramKey) {
        if (data.hasOwnProperty(key)) {
            paramQuery += key + '=' + data[key] + '&'
        }
    }
    
    paramQuery += 'key=' + pm.environment.get("key_" + data['partner_id']);
    
    var sign = CryptoJS.MD5(paramQuery).toString().toUpperCase();
    
    pm.collectionVariables.set("sign", sign);
    //pm.environment.set("sign", sign);
    

    参考文档:https://learning.postman.com/docs/writing-scripts/

    相关文章

      网友评论

          本文标题:Postman高级技巧:Pre-Request Script

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