postman中如何自动生成签名

本文介绍了如何在Postman中通过编写脚本来自动化生成接口调用时的签名,从而提升测试效率。首先,详细阐述了签名的生成规则,包括忽略公参、参数名排序和MD5加密等步骤。然后,展示了在Postman中编辑接口集和编写脚本的具体操作,以及如何将生成的MD5值保存为环境变量。最后,说明了如何在接口调用中使用这个环境变量,确保每次请求都能正确携带签名。
摘要由CSDN通过智能技术生成

有些接口存在签名,变动一个参数可能签名就会不一样,每次都需抓包获取签名,不利于提高测试效率,以下是直接在postman中请求接口时生成签名以供调用示例。
1、编辑接口集;
在这里插入图片描述
2、编写获取签名脚本
签名规则如下:
1)公参不参与签名
2)参数名按ASCII码从小到大排序
3)拼接成字符串,最后再做MD5加密,转换成32位大写,格式如下(key1=value&key2=value&key=固定字符串),最后拼接一个固定字符串
在这里插入图片描述

//获取请求参数键值
const getParams = pm.request.url.query;
let params = {}; 
let urlAndBodyParams = {};
//获取请求参数名
getParams.each((singleGetParam)=>{
    if (!singleGetParam.disabled){
        const key = singleGetParam.key; 
        const value = singleGetParam.value; 
        Object.assign(params, {[key]: value}); 
    }
});
//拼接请求参数、body参数
urlAndBodyParams = Object.assign(params, request.data);
//参数名按照ASCII码升序排序
urlAndBodyKeys = Object.keys(urlAndBodyParams).sort();
var signStr = [];
//拼接待签名字符串
 for (var p = 0; p < urlAndBodyKeys.length; p++) {
    //摘取公参,公参不参与签名
    if(urlAndBodyKeys[p] == "test1" || urlAndBodyKeys[p] == "test2" ){
        continue;
    }
    signStr.push(urlAndBodyKeys[p] + "=" + urlAndBodyParams[urlAndBodyKeys[p]]);
}
//拼接固定字符串
signStr.push('key=' + '1234567890')
var sign = signStr.join("&")  
var md5 = CryptoJS.MD5(sign).toString(); //MD5摘要
//放入环境变量
postman.setGlobalVariable("md5msg", md5);

3、在接口中签名key调用环境变量中的md5msg值
在这里插入图片描述
4、执行接口调用,自动生成签名
在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值