四时宝库

程序员的知识宝库

用postman实现单元测试,含签名(postman tests教程)

持之以恒,聚沙成塔。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 在表单中引用自动填充的环境变量与签名

通过{{}}引用。如下图


发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言