Postman 测试swagger类接口技巧

测试情景:

公司的项目接口愈来愈多,因为开发周期短,时间紧,缺少接口文档,直接使用swagger记录全部接口信息。那么:python

1. 咱们如何更快的测试动辄300+数量的接口,如何分组管理和维护这些接口?json

2. 接口中须要随机函数,传参,为了安全须要token, cookie,Authorization等认证,如何解决?api

 

解决方案:

一、下载Postman 工具,自行百度。安全

一、在登录接口访问后设置Postman的环境变量(Environment),例如设置环境变量名:token,值为登录接口访问成功后,在responseBody中的token值,如何设置请看下面具体描述。
二、访问其余接口时token值直接读取变量便可。Postman里面获取变量的语法为:{{变量名}}
 

具体步骤:

一、登录接口介绍

 

如图所示,login接口返回值JSON格式大致为:
1 {
2     "code": 200,
3     "data": "eyJhbGciOiJIUzUxMiJ9.eyJhdXRoZW50aWNhdGlvbiI6Y2hlbm1lbmdxaSIsImV4cCI6MTUzNTY1oqCA",
4     "message": "SUCCESS"
5 }

 

 
返回值中有token值, 这个值怎么在访问login接口后自动设置为Postman环境变量呢?
 
二、在访问login接口后自动设置为Postman环境变量
在Postman软件的Tests中写如下代码,设置环境变量
 
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);

 

以下图所示:cookie

 

点击右上角的眼睛按钮,能够本身添加环境,运行了上面接口以后就会发现:dom

 

 

三、访问其余接口,环境变量token

 

 

 

如图红色标注的所示
一、Url填另外一个接口
二、TYPE中选择token的类型,我这里用到的是 Bearer Token
三、右边红色标注的部分设置token值,格式为:{{token}},获取前面login接口访问时动态设置的token,
那么这个接口就能够用了
 
点击Send会访问成功。

 

问题解决二: 一键导入swagger

打开postman ,而后点击左上角的import,在Import from link中填入公司的swagger地址 (使用f12,选择下图的value,复制下来)编辑器

 

 

 

 

 这样你就能在collections 里面看见整个项目的接口了。函数

 

扩展: postman自带的函数

PostMan 除了提供环境变量和全局变量外,还提供了三种随机数。
{{$guid}}
:添加一个V4风格GUID工具

{{$timestamp}}
:将当前的时间戳,精确到秒post

{{$randomInt}}
:添加0和1000之间的随机整数

 

 

postman能够批量执行,不过从swagger导出来的api是没有参数的,须要自行为每个接口填入合适的参数并点save保存,后续能够使用。

 

自动生成脚本: 脚本能够放在python编辑器而后正常输出

 

 验证接口:(postman提供了不少的验证方法,点击便可使用,要验证的值代替蓝色的参数值)

 

 

缺点:Postman 做为工具在自定义函数(函数有限),参数传递(不是任意地方均可以调用)方面仍是有限制。测试报告也不算好看。文件夹导出以后只有一个json文件,不方便二次操做。

 

因此接口自动化我在这边选择了python脚本,下次再介绍。

关于postman函数的高级用法可参考: https://blog.csdn.net/sd7o95o/article/details/78141023

相关文章
相关标签/搜索