Postman 接口测试神器
Postman 是一个接口测试和 http 请求的神器,非常好用。
官方 github 地址: https://github.com/postmanlabs
Postman 的优点:
- 支持各种的请求类型: get、post、put、patch、delete 等
- 支持在线存储数据,通过账号就可以进行迁移数据
- 很方便的支持请求 header 和请求参数的设置
- 支持不同的认证机制,包括 Basic Auth,Digest Auth,OAuth 1.0,OAuth 2.0 等
- 响应数据是自动按照语法格式高亮的,包括 HTML,JSON 和 XML
以下内容主要参考: Github: api_tool_postman
安装
Postman 可以单独作为一个应用安装,也可以作为 chrome 的一个插件安装。
-
chrome 插件安装, Postman 插件地址
下面主要介绍下载安装独立版本app 软件的 Postman 的过程:
去主页Postman 官网找到:Postman | Apps
去下载自己平台的版本:
- Mac
- Windows(x86/x64)
- Linux(x86/x64) 即可。
快速入门,总体使用方略
安装成功后,打开软件。
新建接口
对应的Request:New -> Request
或,在右边的 Tab 页面中点击加号+:
即可看到新建的 Tab 页:
设置 HTTP 请求的方法
设置 HTTP 的 Method 方法和输入 api 的地址
设置相关请求头信息
设置相关 GET 或 POST 等的参数
发送请求
都填写好之后,点击 Send 去发送请求 Request:
查看响应 Response的信息
然后可以重复上述修改 Request 的参数,点击 Send 去发送请求的过程,以便调试到 API 接口正常工作为止。
保存接口配置
待整个接口都调试完毕后,记得点击 Save 去保存接口信息:
去保存当前 API 接口,然后需要填写相关的接口信息:
- Request Name: 请求的名字
- 我一般习惯用保存为 接口的最后的字段名,比如
http://{% raw %}{{% endraw %}{server_address}}/ucows/login/login
中的/login/login
- 我一般习惯用保存为 接口的最后的字段名,比如
- Request Description: 接口的描述
可选
最好写上该接口的要实现的基本功能和相关注意事项- 支持 Markdown 语法
- Select a collection or folder to save: 选择要保存到哪个分组(或文件夹)
- 往往保存到某个 API 接口到所属的该项目名的分组
填写好内容,选择好分组,再点击保存:
此时,Tab 的右上角的黄色点(表示没有保存)消失了,表示已保存。
且对应的分组中可以看到对应的接口了:
[warning] 默认不保存返回的 Response 数据
- 直接点击 Save 去保存,只能保存 API 本身(的 Request 请求),不会保存 Response 的数据
- 想要保存 Response 数据,需要用后面要介绍的 多个 Example
Request 的多参数操作详解
自动解析多个参数 Params
比如,对于一个 GET 的请求的 url 是: http://openapi.youdao.com/api?q=纠删码(EC)的学习&from=zh_CHS&to=EN&appKey=152e0e77723a0026&salt=4&sign=6BE15F1868019AD71C442E6399DB1FE4
对应着其实是?key=value
形式中包含多个 Http 的 GET 的 query string=query parameters
Postman 可以自动帮我们解析出对应参数,可以点击 Params:
看到展开的多个参数:
如此就可以很方便的修改,增删对应的参数了。
临时禁用参数
且还支持,在不删除某参数的情况下,如果想要暂时不传参数,可以方便的通过不勾选的方式去实现:
批量编辑 GET 的多个参数
当然,如果想要批量的编辑参数,可以点击右上角的Bulk Edit,去实现批量编辑。
接口描述与自动生成文档
API 的描述中,也支持 Markdown,官方的接口说明文档:Intro to API documentation。
所以,可以很方便的添加有条理的接口描述,尤其是参数解释了:
描述支持 markdown 语法
而对于要解释的参数,可以通过之前的Param -> Bulk Edit
的内容:
拷贝过来,再继续去编辑:
以及添加更多解释信息:
点击 Update 后,即可保存。
发布接口并生成 markdown 的描述文件
去发布后:
对应的效果:有道翻译
Response 深入
Response 数据显示模式
Postman 对于返回的 Response 数据,支持三种显示模式。
默认
格式化后的 Pretty 模式
- Raw 原始模式
点击Raw,可以查看到返回的没有格式化之前的原始数据:
- Preview 预览模式
以及 Preview,是对应 Raw 原始格式的预览模式:
Preview 这种模式的显示效果,好像是对于返回的是 html 页面这类,才比较有效果。
Response 的 Cookies
很多时候普通的 API 调用,倒是没有 Cookie 的:
Response 的 Headers 头信息
举例,此处返回的是有 Headers 头信息的:
可以从中看到服务器是 Nginx 的。
保存多个 Example
之前想要实现,让导出的 API 文档中能看到接口返回的 Response 数据。后来发现是Example这个功能去实现此效果的。
如何添加 Example
继续点击Save Example:
保存后,就能看到Example(1)了:
单个 Example 在导出的 API 文档中的效果
然后再去导出文档,导出文档中的确能看到返回数据的例子:
多个 Example 在导出的 API 文档中的效果
其他好用的功能及工具
分组 Collection
在刚开始一个项目时,为了后续便于组织和管理,把同属该项目的多个 API,放在一组里
所以要先去新建一个 Collection: New -> Collection
使用了段时间后,建了多个分组的效果:
单个分组展开后的效果:
历史记录 History
Postman 支持 history 历史记录,显示出最近使用过的 API:
用环境变量实现多服务器版本
现存问题
在测试 API 期间,往往存在多种环境,对应 IP 地址(或域名也不同)
比如:
- Prod:
http://116.62.25.57/ucows
- 用于开发完成发布到生产环境
- Dev:
http://123.206.191.125/ucows
- 用于开发期间的线上的 Development 的测试环境
- LocalTest:
http://192.168.0.140:80/ucows
- 用于开发期间配合后台开发人员的本地局域网内的本地环境,用于联合调试 API 接口
而在测试 API 期间,往往需要手动去修改 API 的地址:
效率比较低,且地址更换后之前地址就没法保留了。
另外,且根据不同 IP 地址(或者域名)也不容易识别是哪套环境。
Postman 支持用 Environment 环境变量去实现多服务器版本
后来发现 Postman 中,有 Environment 和 Global Variable,用于解决这个问题,实现不同环境的管理:
很明显,就可以用来实现不用手动修改 url 中的服务器地址,从而动态的实现,支持不同服务器环境:
- Production 生产环境
- Development 开发环境
- Local 本地局域网环境
如何使用 Enviroment 实现多服务器版本
相关文章
- JMeter接口自动化测试实例—JMeter引用javaScript - wangjinxiang
- 使用JMeter进行简单的app接口测试
- Web Api 接口测试工具:Swagger
- 免费的接口数据测试API
- 手游接口测试环境搭建
- USB3.0 、 2.0 接口EMC设计标准电路 (有可能出于测试结果,不同去耦电容搭配,满足了设计要求,尖峰电流小了,电路会变化比如没有共模电感,添加限流电阻等:这里仅供参考) - Red_Point
- jmeter APP接口压力测试
- 【AI图像识别二】JMeter轻松实现大数据量AI图像识别接口测试
- python接口自动化测试——上传图片举例
- Lego:美团点评接口自动化测试实践 - zouhui