Postman中接口自定义请求数据(时间戳和加密)

       在使用postman进行接口测试的时候,对于有些接口字段需要时间戳加密,这个时候我们就遇到2个问题,其一是接口中的时间戳如何得到?其二就是对于现在常用的md5加密操作如何在postman中使用代码实现呢?今天就为大家整理分享一下postman接口测试: 时间戳和加密

首先,postman接口的接口文档信息


HTTP Request 头信息
签名规则

此接口文档中,需要两个参数sign、requesttime,其中sign(是secret+requesttime+url加密后的结果)

第一次操作我们会按照通用手法进行操作

1.我们先找到在线时间戳,进行按照文档中的要求操作

当前时间戳+600秒,然后作为requesttime的value,

例如:requesttime:"1587381373",(当前时间戳+600秒)

时间戳转换工具:http://tool.chinaz.com/Tools/unixtime.aspx

2.把requesttime的value和密钥和请求的url进行通过MD5进行加密生成sign的value,得出32位小写的字符串

md5(密钥+requesttime+请求的url)= 62aebaab8c67af2615adb03dded4b29a

因为sign是一分钟过期一次,这样每次请求接口太耽误时间,所以就只能写脚本子自动获取计算接口,自动给参数赋值

自动化脚本操作

1.编写脚本代码

编写脚本代码

2.设置全局的参数

设置全局参数

代码的书写方式-1

//设备密钥为全局

postman.setGlobalVariable("customerCode","xxxxx");

//设置时间戳为全局

postman.setGlobalVariable("timestamp",Math.round(new Date().getTime()/1000 + 600));

//设置请求的url为全局

postman.setGlobalVariable("ytoken","xxxxxxx");

//获取全局变量

customerCode = postman.getGlobalVariable("customerCode");

timestamp = postman.getGlobalVariable('timestamp');

ytoken = postman.getGlobalVariable("ytoken");

var str = customerCode + timestamp + ytoken;

postman.setGlobalVariable("str",str);

//对这样的字符串进行md5加密

var strmd5 = CryptoJS.MD5(str);

postman.setGlobalVariable('md5',strmd5);

console.log(str);

代码的书写方式-2

//设置当前时间戳(毫秒)

Timestamp = Math.round(new Date().getTime()/1000);

// 过期时间一分钟60秒

etime = Timestamp+600;

postman.setGlobalVariable("Timestamp",etime);

// 设置签名秘钥

secret = "xxxxxx";

// uri

URI = "xxxxxxx";

//字符串进行md5加密

//计算签名

var str = secret+etime+URI;

postman.setGlobalVariable("str",str);

var strmd5= CryptoJS.MD5(str);

postman.setGlobalVariable("SignKey",strmd5);

你可能感兴趣的:(Postman中接口自定义请求数据(时间戳和加密))