前言
调试接口的工具有不少,其中Postman就是比较受欢迎的一个。这里介绍了几种 Pre-request Script 如何在请求发送前去填写参数。一、URL参数的获取和赋值
Pre-request Script脚本如下:
var secret = "123456789";
// 时间戳
var timestamp = Date.parse(new Date()).toString();
var key = pm.request.url.query.get("key")
var param = pm.request.url.query.get("param");
var sign = param + timestamp + key + secret;
console.log("key: " + key);
console.log("secret: " + secret);
console.log("t: " + timestamp);
console.log("param: " + param);
console.log("加密原文: " + sign);
// MD5 加密转大写
sign = CryptoJS.MD5(sign).toString().toUpperCase();
// BASE64 加密
sign = CryptoJS.enc.Utf8.parse("待加密字符串").toString(CryptoJS.enc.Base64);
console.log("sign: " + sign);
pm.environment.set("t",timestamp);
pm.environment.set("sign",sign);
需要回填的参数需要定义成 {{参数名}}
二、x-www-form-urlencoded参数的获取和赋值
Pre-request Script脚本如下:
var secret = "123456789";
// 时间戳
var timestamp = Date.parse( new Date()).toString();
var key = pm.request.body.urlencoded.get("key");
var param = pm.request.body.urlencoded.get("param");
var sign = param + timestamp + key + secret;
console.log("key: " + key);
console.log("secret: " + secret);
console.log("t: " + timestamp);
console.log("param: " + param);
console.log("加密原文: " + sign);
// MD5 加密转大写
sign = CryptoJS.MD5(sign).toString().toUpperCase();
// BASE64 加密
sign = CryptoJS.enc.Utf8.parse("待加密字符串").toString(CryptoJS.enc.Base64);
console.log("sign: " + sign);
pm.environment.set("t",timestamp);
pm.environment.set("sign",sign);
总结
1.Date.parse( new Date()).toString(); // 当前时间戳的获取
2.pm.request.url.query.get(“参数名”) // URL中参数的获取
3.pm.request.body.urlencoded.get(“参数名”); // x-www-form-urlencoded参数的获取
4.CryptoJS.MD5(加密原文).toString().toUpperCase(); // MD5 加密转大写
5.CryptoJS.enc.Utf8.parse(加密原文).toString(CryptoJS.enc.Base64); // BASE64 加密
6.pm.environment.set(“参数名”,参数值); // 参数回填(参数需要定义为:{{参数名}} )