一、Postman基础用法
1.Postman简介
Postman是一款接口调试工具
2.常用请求格式
1.GET
2.POST
3.PUT
4.DELETE
3.使用方法
1. 设置请求方法
2. 设置URL
3. 设置请求头
4. 设置请求数据
5. 查看响应状态码
6. 查看响应体数据
二、Postman高阶用法
1.设置环境变量
场景:在真实的软件开发流程中,往往会碰到好几种服务端环境:开发环境、测试环境、预发布环境、生产环境等等。如果我们的每次请求不同的环境都去修改请求地址,效就会很低。如果我们为每个环境都保存一套请求,又非常难维护,这两个方式显然都是不可取的,幸运的是,Postman为我们提供的环境变量功能能很好的解决这一个问题。
实践:
1.点右上角小眼睛标志,弹出环境管理面板,在面板environment模块点右上角的Add新增一个环境。
2.以本地开发环境为例,环境名称填local,variable填url,value填http://127.0.0.1,点右上角save按钮保存该环境。
3.在右上角环境选择下拉框选择一个环境。
4.在地址栏替换原来请求的IP部分,替换为{{url}},花括号里面就是刚才填的variable值,类似于占位符的作用。鼠标移动到上面,会显示具体的value值。也可以点右上角的小眼睛,看所有的环境变量。
2.设置全局变量
场景: 比如一个场景,在cookie设置登录凭证token。但token有时需要改变,而且大量请求都需要用到这个token。每次请求都改掉token显然不切实际,这里带大家介绍Postman的全局变量功能。
实践:
1.点右上角小眼睛标志,弹出环境管理面板,在面板globals模块点右上角的edit编辑全局变量。
2.variable填token,value填123456,点右下角Save保存全局变量。如有多个可以全部填好再保存。
3.在Headers中添加一个header,key填token,value为{{token}}。鼠标移动到上面,会显示具体的value值。也可以点右上角的小眼睛,看所有的全局变量。
3.请求前执行脚本
场景:在实际接口调用时,有些接口需要验证签名,所以在接口请求前需要先自动生成签名,还有些接口参数有唯一性,每次调用前都需要手动更改参数,效率低下,需要在接口请求前以一定方法生成唯一参数,提高调用效率,Postman为我们提供的Pre-request Script功能能很好的解决这一个问题。
实践:
1.先切换到Pre-request Script选项卡,开始编写JavaScript代码。可以对单个接口编写Pre-request Script也可以在文件夹处对全部接口编写Pre-request Script
2.比如我需要获取时间戳并设置为全局变量,编写如下代码,且设置全局变量timestamp //获取当前时间戳 var timestamp = Math.round(new Date().getTime()) //设置时间戳为全局变量 pm.globals.set("timestamp", timestamp);
3.在每个请求前都会先执行如上代码,接口调用时可以直接获取全局变量{{timestamp}}即可获取代码返回结果
4.请求后执行脚本
场景:1.业务接口编写完成后,需要自测是否通过。我们可以把要测试的API录入到Postman,然后编写验证返回结果的测试脚本。2.业务接口调用时,后一个接口的参数来自前一个接口的返回,接口之间有关联关系时,需要参数传递。
实践:
1.先编写好一个API,点击选项卡Tests,在这里写我们的测试脚本。可以对单个接口编写Tests也可以在文件夹处对全部接口编写Tests
2.在面板右侧,Postman提供了超全面的示例代码。我们根据该请求的返回结果编写两个脚本,第一个是校验请求返回码是200,第二个是获取接口返回的msg的字段,同时在全局变量中新增msg参数。
3.写完脚本后发送一下请求。发现Test Results里面是绿色,证明我们的第一个测试通过。查看全局变量内的参数有获取到response值并填入,即验证成功,当然我们可以把一些通用一点的test(例如请求码返回200)写在收藏夹或文件夹里,这样里面所有的请求都能被执行到,然后在每个请求里面写跟该请求特定的test。
5.请求拦截
场景:前面介绍的功能都有一个前提,就是要先把API写出来。项目前后端对接完后,这时候就不需要一个一个API录进去,我们可以利用Postman提供的请求拦截功能来收集API。性质跟我们平时拦请求用的Fiddler等抓包软件其实大同小异。
步骤:
1.点击Postman右上角的类似电磁波图标,弹出代理设置。第一行是端口,默认5555,不需要修改。第二个是目标,可以选择History或者某个收藏夹,也就是请求要保存的位置,点Connect按钮就可以开启代理。
2.为了精准收集,我们进入Filters选项卡,在第一行输入url片段,也就是筛选url包含url片段。第二行是不包含的内容,例如我们排除静态资源文件可以写成.ico|.png|.jpg|.css|.js,第一个和第二个内容都支持正则表达式,而且两者并不冲突。第三个是要筛选的请求方法,可以不填。最后点Save按钮保存,设置就会立即生效。
3.拦截的请求接口即可保存在目标保存位置
6.Mock Server
场景:利用Postman的Mock Server功能,我们可以把现成的请求模拟数据。前端请求Mock的接口地址,就能返回我们预先模拟好的数据,而不依赖于后端的开发进度。同时,还能解决在家远程办公而无法连接公司内网服务问题,以及开发初期由于服务不稳定引起的其他问题。
步骤:
1.选择需要mock结果的folder文件,点击“...”按钮下的Mock collection
2.填写mock server name,点击create mock server,生成mock server url
3.将需要mock的接口url的协议和域名替换成生成的mock server url
4.点击需要mock的接口右侧“...”按钮下的Add example
5.编写一份需要mock生成的response
6.回到接口调用页面,点击request,response内生成mock的返回数据
三、Postman实战小技巧
1.接口导入-import
支持导入方式: file、folder、link、raw test、code respository、api gateway 常用:raw test,可以将curl语句直接解析导入成接口
2.接口导出-生成cURL和多语言代码
步骤:
1.编写完成API,点击右边“</>”标志按钮
2.选择要导出的代码语言
3.自动生成该api对应语言代码
3.批量循环参数化调用接口
步骤:
1.将需要批量调用的接口放在一个folder中
2.点击folder右侧“...”按钮中的Run folder跳转批量调用设置页面
3.左侧选择需要批量调用的接口
4.在iterations设置需要循环调用的次数
5.在delay设置单次调用之间需要间隔的时间ms
6.在Data处可以设置参数文件中获取,比如编写csv文件,第一行为参数名,列向下为需要参数化的参数值,request中将参数设置为{{参数值}},即可在批量调用时生效
4.控制台输出调试
步骤:
1.我们在Pre-request Script下编写一些示例代码,通过console.log输出到控制台。
2.打开Postman Console(控制台)。可以通过左下角图标打开,也通过在菜单栏(View -> Show Postman Console)打开。
3.发送请求后,测试信息打印在控制台,除此之外这次请求的请求和响应详细信息也打在控制台上。它还有过滤功能,方便我们快速查找打印。我们平时在写一些复杂的逻辑时可以多打些输出方便调试,合理利用好控制台能使我们更快定位到错误。
5.文件下载接口调试
步骤:
1.编写完成文件下载接口api
2.点发送按钮旁边的三角形,然后点Send and Download,表示发送并下载数据。数据接受完,就会弹出一个对话框,选择文件保存的位置。
6.生成接口文档
步骤:
1.点击folder名右侧“...”按钮,点击view documentation
2.生成该folder下所有接口的接口文档页面
3.点击右上角publish按钮跳转到publish设置页面,设置完毕后点击publish即发布成功,生成一个接口文档链接。已发布的文档可以随时修改保存或下架的。
4.其他人打开之后可以通过页面右上角的Run in Postman把请求一键导入到自己的Postman
7.团队协作
步骤:
1.点击invite按钮,弹出邀请弹框
2.输入被邀请人的邮箱,选择权限,点击invite发送邀请