痛点:最近有个API网关的兼容性测试任务,需要验证API是否可用,返回值符合预期,如果手工复制粘贴curl命令,繁琐且低效
调研时发现了Postman 这个chrom插件,试用了2天后发现使用起来很方便,现总结如下:
Postman简介:Postman是一种网页调试与发送网页http请求的chrome插件。我们可以用来很方便的模拟get或者post或者其他方式的请求来调试接口
安装:通过chrome浏览器打开chrome网上应用店直接添加到chrome插件中 (可能需要番墙...)
使用方式: 对照测试软件的接口API文档,设置对应的Header Body Test校验内容
使用技巧总结:
1.在body中用{{x}}使用环境变量,在test中environment.x调用环境变量
2.注册环境变量:postman.setEnvironmentVariable("volumeid", responseJSON.data.elements[0].id); 这样就可以在下个case中直接调用了
3.延时1-10秒
GET https://postman-echo.com/delay/[1~10]
4.延时指定的毫秒
function pausecomp(millis)
{
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < millis);
}
//pausecomp(10000);
pausecomp(environment[‘sleep-interval‘]);
5.数组json处理
//refer to https://stackoverflow.com/questions/42257293/extract-value-from-array-of-objects-in-postman
postman.setEnvironmentVariable("volumeid", responseJSON.data.elements[0].id);
6. 所有case写完后,可以统一Run (如果不加入try -catch处理,会停在第一个调用方法失败的地方)
Postman遇到的坑:
1. "snapshot_id":"{{snapshot_id}}" ,如果不加双引号,会报错: "detail": "invalid character ‘s‘ looking for beginning of value",Postman有时候不会自动处理双引号