持之以恒,聚沙成塔。Postman的发展无疑充分说明了这一点,就目前而言,这是面对http服务做单元测试的最佳选择。本文基于postman官网产品,于20211019日测试通过。
实现指定字段填充与自动签名
相关服务接口的定义如下,
Postman先定义接口的字段,如下图
设定预处理脚本,来解决自动填充与签名的问题:
好了,再说下具体步骤吧。为了更好的体验,最好使用postman的desktop应用来进行,如果确实不方便,浏览器最好锁定为chrome,否则会有一些不兼容的问题。
1 在window10下安装postman桌面应用
进入页面https://www.postman.com/downloads/,或者直接访问链接
https://dl.pstmn.io/download/latest/win64 获得window版本。
2 注册账号,并从postman桌面应用登录
团队协作时最好创建一个team workspace,这样可于多人协作。可通过邀请,加入团队工作空间,
3 在工作空间创建单元测试用例
4 编写预处理脚本
实现字段的自动填充与签名。
var appkey = 'abcdadfasfasfd';
//获取当前时间
function createTime() {
return Math.round((new Date()).valueOf()/1000) ;
}
var time = createTime();
pm.environment.set("msgID",time);
pm.environment.set("timestamp",time);
var content = "";
let qp = pm.request.url.query.members;
for(let i in qp){
console.log("kv:",qp[i].key,qp[i].value);
if(qp[i].key == "sign") continue;
if(qp[i].key == "msgID") {
content += qp[i].key+"="+time+"&";
}else if (qp[i].key == "timestamp") {
content += qp[i].key+"="+time+"&";
}else{
content += qp[i].key+"="+qp[i].value+"&";
}
}
content += appkey;
var sig = CryptoJS.SHA1(content).toString(CryptoJS.enc.Hex);
pm.environment.set("sig",sig);
console.log("\r\n\r\n"+content + "\r\n" + sig);
5 在表单中引用自动填充的环境变量与签名
通过{{}}引用。如下图