Postman是一个有着图形化界面的API请求模拟平台,在构造请求时最常见的莫过于手动在对应的输入框中填入相应的内容:
根据被测HTTP请求的Method、URL、Headers、Request Params/Body,填写完成后点击Send,能够看到响应返回的Status、Headers、Boby等相应信息。为了方便下次使用,我们通常也会将其保存到Collection中。
当需要测试的接口不多时,重复这样操作看起来问题不大,但通常一个系统的接口至少是有几十上百个的,再这样一个一个手动输入的话,效率未免太低。 postman提供了多种方法帮助我们批量导入,点击import,我们可以看到有File、Folder、Link、Raw text、Code repository这5种导入方法,本人根据自己在工作中的经验和使用习惯,将依次介绍其中的Raw text、File、Link这3种方法。 除了Import外,Postman还可以拦截请求并将请求信息存储到对应的位置,使用过Fiddler、Charles等抓包工具的同学应该会比较熟悉这个操作,这种方法与页面操作紧密结合,也是非常不错的批量导入请求的方法。
1. Raw text - 粘贴curl命令
从上图的示例中我们看到,可以直接输入curl命令,不太了解curl命令的同学可能会觉得,“这不是把事情搞得更复杂了吗?”不是的,我们在Developer Tools中有一种很快捷的方式获得接口的curl命令形式的文本:
在操作应用的前端页面时,按下F12,打开Developer Tools,我们能看到相应的接口请求信息,右键点击该请求,选择Copy -> Copy as cURL, 然后粘贴到Import -> Raw Text中,点击Continue -> Import,就能看到Requests的相应信息都自动填写好了。
2. Link - 通过Swagger导入
当项目使用Swagger 3.0 作为API文档工具时,我们可以直接在"Link"中填入api-docs的请求链接http://localhost:8081/v3/api-docs ,获取方式如下图所示。
填写完成后点击Continue -> Import,导入成功后可以在Collection中看到所有的API请求,可以看到请求Method、URL、Body的参数都不需要我们再手动填写了。注意这里的URL中出现了{{baseUrl}} ,这个是postman中非常好用的变量(Environment)功能,将在后面的文章中详细介绍其使用方法。
3. File - 导入Postman json文件
首先,对于已经保存在Collection中的多个请求,我们可以先使用“导出”功能将所有请求导出到json文件中。 json文件导出成功后,直接将对应的文件发送给团队内的其他同学或者一起放入代码仓库中,团队内其他人下载后再使用导入文件的功能,将其导入postman即可开始使用。
4. 拦截请求
使用过Fiddler、Charles等抓包工具的小伙伴应该对拦截请求的原理及相应操作十分了解了。Postman现在提供了两种拦截请求的方法,我们可以拦截请求并将其存储到collection中。
4.1 Postman Interceptor
先在浏览器中安装Postman Interceptor,Postman中也要安装Interceptor Bridge,准备就绪后,可以看到CONNECTED 状态,Postman就可以将符合过滤条件的请求拦截并存储在设定好的collection中。 在浏览器插件中也可以看到相应请求信息:
Postman中相应请求也被保存下来了:
4.2 Proxy
如果只需要抓取HTTP请求,则只需要先在系统中设置代理服务器。Mac OS的设置方式如下图所示。
若要抓取HTTPS请求,需要先下载并安装对应的证书,具体可参考Postman官方文档。
然后在postman中点击开始,然后在浏览器中操作页面,就能看到对应的请求保存下来了。
|