测试情景:
公司的项目接口越来越多,由于开发周期短,时间紧,缺乏接口文档,直接使用swagger记录所有接口信息。那么:
1. 我们如何更快的测试动辄300+数量的接口,如何分组管理和维护这些接口?
2. 接口中需要随机函数,传参,为了安全需要token, cookie,Authorization等认证,如何解决?
解决方案:
1、下载Postman 工具,自行百度。
具体步骤:
1、登陆接口介绍
1 { 2 "code": 200, 3 "data": "eyJhbGciOiJIUzUxMiJ9.eyJhdXRoZW50aWNhdGlvbiI6Y2hlbm1lbmdxaSIsImV4cCI6MTUzNTY1oqCA", 4 "message": "SUCCESS" 5 }
2、在访问login接口后自动设置为Postman环境变量
1 pm.test("Status code is 200", function () { 2 pm.response.to.have.status(200); 3 }); 4 5 // 把responseBody转为json字符串 6 var resp= JSON.parse(responseBody); 7 // 设置环境变量token,供后面的接口引用 8 pm.environment.set("token", resp.data);
如下图所示:
点击右上角的眼睛按钮,可以自己添加环境,运行了上面接口之后就会发现:
3、访问其他接口,环境变量token
问题解决二: 一键导入swagger
打开postman ,然后点击左上角的import,在Import from link中填入公司的swagger地址 (使用f12,选择下图的value,复制下来)
这样你就能在collections 里面看见整个项目的接口了。
扩展: postman自带的函数
PostMan 除了提供环境变量和全局变量外,还提供了三种随机数。
{{$guid}}
:添加一个V4风格GUID
{{$timestamp}}
:将当前的时间戳,精确到秒
{{$randomInt}}
:添加0和1000之间的随机整数
postman可以批量执行,不过从swagger导出来的api是没有参数的,需要自行为每一个接口填入合适的参数并点save保存,后续可以使用。
自动生成脚本: 脚本可以放在python编辑器然后正常输出
验证接口:(postman提供了很多的验证方法,点击即可使用,要验证的值代替蓝色的参数值)
缺点:Postman 作为工具在自定义函数(函数有限),参数传递(不是任意地方都可以调用)方面还是有限制。测试报告也不算好看。文件夹导出之后只有一个json文件,不方便二次操作。
所以接口自动化我在这边选择了python脚本,下次再介绍。
关于postman函数的高级用法可参考: https://blog.csdn.net/sd7o95o/article/details/78141023