在postman中使用pre-request script管理请求参数

场景:

api请求时需要一个签名字段,该签名由其他请求字符串拼接一个secretKey后进行md5计算而得,在api频繁手动调试的情况下每次都计算大大降低了调试效率,所以使用postman的pre-request script功能自动添加该签名

操作:

首先将需要自动管理的请求字段以变量名的形式表示:

上图中signing字段

上图中signing字段通过{{signing}}变量来表示

接下来编写pre-request script脚本计算该变量并赋值:

这里使用到postman的官方文档:https://learning.postman.com/docs/postman/scripts/intro-to-scripts/

调试方法:点击菜单的view->show postman console即可打开控制台,其在Windows下快捷键为ctrl+alt+c,然后在pre-request script中写入要打印的信息,send该请求


打印调试

可见控制台对指定信息进行了打印.

编写计算脚本:

接下来是正事,首先获取全部请求参数:

const getParams = pm.request.url.query;

此处pm为postman内置api,详情参加官方文档:https://learning.postman.com/docs/postman/scripts/postman-sandbox-api-reference/


然后遍历全部请求参数,按照调用规则拼接,注意当请求中参数处于未勾选状态时会有一个disabled属性,值为true,此类参数不参与计算


此时框中参数为disabled状

let args = [];

let queryStr = "";

getParams.each((singleGetParam)=>{

    if (singleGetParam.key !== 'signing' && !singleGetParam.disabled) {

        queryStr += singleGetParam.key + '=' + singleGetParam.value + "&";

    }

});

queryStr = queryStr.slice(0,-1) + 'yourSecretKey';

最后计算并赋值给环境变量(postman中预置了CryptoJS库,可直接使用文档参加https://cryptojs.gitbook.io/docs/):

pm.environment.unset("signing");

pm.environment.set("signing", CryptoJS.MD5(queryStr).toString());

现在即可自动计算签名了

将脚本应用于整个收藏夹:

每一个请求都添加脚本太麻烦了,postman可以直接给整个收藏夹添加公用脚本,编辑收藏夹时点击pre-request script即可

收藏夹脚本

以上です

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Postman 这么强大的工具怎能不写一篇简单的工具应用篇博文呢,本文介绍的是 Pre-request scrip...
    goldenJetty阅读 7,101评论 0 4
  • 一、Pre Request Scripts Postman v0.10+ 版本支持pre-request scri...
    常大鹏阅读 68,597评论 4 69
  • Postman的强大之处在于其允许在对某一个request访问的之前和之后分别运行自定义的一段Javascript...
    Solomon_Xie阅读 2,265评论 0 5
  • Postman是一款强大的API接口测试工具,有许多不容易发现的好用的功能,下面简单介绍其中一部分功能。详细内容可...
    selfboot阅读 8,554评论 6 25
  • 万安寺建之前 2058年 “从前吧,我总觉得世界上是有真理和正义的,但是随着我阅历的增长,见...
    栾博阅读 436评论 0 0