Postman 是一个接口测试和 http 请求的神器,很是好用。html
官方 github 地址: https://github.com/postmanlabs前端
Postman 的优势:git
支持各类的请求类型: get、post、put、patch、delete 等github
支持在线存储数据,经过帐号就能够进行迁移数据web
很方便的支持请求 header 和请求参数的设置chrome
支持不一样的认证机制,包括 Basic Auth,Digest Auth,OAuth 1.0,OAuth 2.0 等json
响应数据是自动按照语法格式高亮的,包括 HTML,JSON 和 XMLapi
Postman 能够单独做为一个应用安装,也能够做为 chrome 的一个插件安装。服务器
chrome 插件安装, Postman 插件地址(https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop)markdown
单独应用安装下载(http://files.cnblogs.com/files/mafly/postman-4.1.2.rar)
下面主要介绍下载安装独立版本app 软件的 Postman 的过程:
去主页Postman 官网(https://www.getpostman.com/)找到:Postman | Apps(https://www.getpostman.com/apps)
去下载本身平台的版本:
Mac Windows(x86/x64) Linux(x86/x64)
便可。
4.1 新建接口
对应的Request:New -> Request
Postman新建Request
或在右边的 Tab 页面中点击加号+:
Postman在Tab页新建Request
便可看到新建的 Tab 页:
Postman新建了的Tab页的Request
4.1.1 设置 HTTP 请求的方法
设置 HTTP 的 Method 方法和输入 api 的地址
Postman设置Method和输入API地址
4.1.2 设置相关请求头信息
Postman设置Header头的key
Postman设置Header头的value
4.1.3 设置相关 GET 或 POST 等的参数
Postman设置POST的Body的JSON
4.1.4 发送请求
都填写好以后,点击 Send 去发送请求 Request:
Postman点击发送请求
4.1.5 查看响应 Response的信息
Postman返回响应
而后能够重复上述修改 Request 的参数,点击 Send 去发送请求的过程,以便调试到 API 接口正常工做为止。
4.1.6 保存接口配置
待整个接口都调试完毕后,记得点击 Save 去保存接口信息:
Postman点击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 接口到所属的该项目名的分组
Postman保存时填写接口信息
填写好内容,选择好分组,再点击保存:
Postman保存到分组
此时,Tab 的右上角的黄色点(表示没有保存)消失了,表示已保存。
且对应的分组中能够看到对应的接口了:
Postman已保存的API接口Tab页
[warning] 默认不保存返回的 Response 数据
直接点击 Save 去保存,只能保存 API 自己(的 Request 请求),不会保存 Response 的数据
想要保存 Response 数据,须要用后面要介绍的 多个 Example
4.2 Request 的多参数操做详解
4.2.1 自动解析多个参数 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:
Postman中GET时多个参数
看到展开的多个参数:
Postman中GET中展开的多个参数
如此就能够很方便的修改,增删对应的参数了。
4.2.2 临时禁用参数
且还支持,在不删除某参数的状况下,若是想要暂时不传参数,能够方便的经过不勾选的方式去实现:
Postman中不勾选个别参数
4.2.3 批量编辑 GET 的多个参数
固然,若是想要批量的编辑参数,能够点击右上角的Bulk Edit,去实现批量编辑。
Postman批量编辑GET参数
4.3 接口描述与自动生成文档
API 的描述中,也支持 Markdown,官方的接口说明文档:Intro to API documentation。
因此,能够很方便的添加有条理的接口描述,尤为是参数解释了:
Postman给Edit编辑
4.3.1 描述支持 markdown 语法
Postman支持Markdown写描述
而对于要解释的参数,能够经过以前的Param -> Bulk Edit的内容:
Postman批量更新参数
拷贝过来,再继续去编辑:
Postman编辑Markdown描述内容
以及添加更多解释信息:
Postman添加更多的Markdown内容
点击 Update 后,便可保存。
4.3.2 发布接口并生成 markdown 的描述文件
去发布后:
Postman去Publish Docs
对应的效果:有道翻译
Postman发布后Markdown效果
Postman发布后Markdown中代码效果
4.4 Response 深刻
4.4.1 Response 数据显示模式
Postman 对于返回的 Response 数据,支持三种显示模式。
Postman的Response的Pretty模式
点击Raw,能够查看到返回的没有格式化以前的原始数据:
Postman的Response的Raw模式
以及 Preview,是对应 Raw 原始格式的预览模式:
Postman的Response的Preview模式
Preview 这种模式的显示效果,好像是对于返回的是 html 页面这类,才比较有效果。
4.4.2 Response 的 Cookies
不少时候普通的 API 调用,却是没有 Cookie 的:
Postman的响应中无Cookie
4.4.3 Response 的 Headers 头信息
举例,此处返回的是有 Headers 头信息的:
Postman的响应中的Headers
能够从中看到服务器是 Nginx 的。
4.5 保存多个 Example
以前想要实现,让导出的 API 文档中能看到接口返回的 Response 数据。后来发现是Example这个功能去实现此效果的。
4.5.1 如何添加 Example
Postman的接口点击Add Example
继续点击Save Example:
Postman的接口点击Save Example
保存后,就能看到Example(1)了:
Postman已保存的Example(1)
4.5.2 单个 Example 在导出的 API 文档中的效果
而后再去导出文档,导出文档中的确能看到返回数据的例子:
Postman导出API文档中带Example
4.5.3 多个 Example 在导出的 API 文档中的效果
Postman中多个Example在API文档中效果1
Postman中多个Example在API文档中效果2
4.6 其余好用的功能及工具
4.6.1 分组 Collection
在刚开始一个项目时,为了后续便于组织和管理,把同属该项目的多个 API,放在一组里
因此要先去新建一个 Collection: New -> Collection
Postman新建分组Colection
使用了段时间后,建了多个分组的效果:
Postman中的多个分组效果
单个分组展开后的效果:
Postman分组展开的效果
4.6.2 历史记录 History
Postman 支持 history 历史记录,显示出最近使用过的 API:
Postman的History显示历史记录
4.6.3 用环境变量实现多服务器版本
4.6.3.1 现存问题
在测试 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 的地址:
Postman修改APi接口中服务器地址
效率比较低,且地址更换后以前地址就无法保留了。
另外,且根据不一样 IP 地址(或者域名)也不容易识别是哪套环境。
4.6.2 Postman 支持用 Environment 环境变量去实现多服务器版本
后来发现 Postman 中,有 Environment 和 Global Variable,用于解决这个问题,实现不一样环境的管理:
Postman中Environment和Globals
很明显,就能够用来实现不用手动修改 url 中的服务器地址,从而动态的实现,支持不一样服务器环境:
Production 生产环境
Development 开发环境
Local 本地局域网环境
4.6.2.1 如何使用 Enviroment 实现多服务器版本
Postman中点击的Add
或者:
Postman中点击设置Manage Enviroments
Postman中Manage Enviroments的Add
Environments are a group of variables & values, that allow you to quickly switch the context for your requests and collections.
Learn more about environments
You can declare a variable in an environment and give it a starting value, then use it in a request by putting the variable name within curly-braces. Create an environment to get started.
输入 Key 和 value:
Postman中Enviroment输入key和value
点击 Add 后:
Postman保存Enviroment
[info] 环境变量可使用的地方
URL
URL params
Header values
form-data/url-encoded values
Raw body content
Helper fields
写 test 测试脚本中
经过 postman 的接口,获取或设置环境变量的值。
此处把以前的在 url 中的 IP 地址(或域名)换成环境变量:
Postman把IP换成环境变量
鼠标移动到环境变量上,能够动态显示出具体的值:
Postman环境变量鼠标动态提示
再去添加另一个开发环境:
Postman添加Dev环境变量
则可添加完 2 个环境变量,表示两个服务器地址,两个版本:
Postman已添加2个环境变量
而后就能够切换不一样服务器环境了:
Postman切换不一样服务器环境
能够看到,一样的变量 server_address,在切换后对应 IP 地址就变成但愿的开发环境的 IP 了:
Postman切换到Dev的IP地址
4.6.2.2 Postman 导出 API 文档中多个环境变量的效果
顺带也去看看,导出为 API 文档后,带了这种 Environment 的变量的接口,文档长什么样子:
发现是在发布以前,须要选择对应的环境的:
Postman发布前要选择环境
Postman选择某个环境
Postman已选择了某个环境
发布后的文档,能够看到所选环境和对应服务器的 IP 的:
Postman发布后看到所选环境的IP
固然发布文档后,也能够实时切换环境:
Postman发布后能够切换环境
Postman切换到某个环境看到IP
4.6.2.3 环境变量的好处
当更换服务器时,直接修改变量的 IP 地址:
Postman环境变量要更换IP地址
Postman环境变量更换为新IP
便可实时更新,当鼠标移动到变量上便可看到效果:
Postman鼠标移动到环境变量显示新IP
4.6.3 代码生成工具
4.6.3.1 查看当前请求的 HTTP 原始内容
对于当前的请求,还能够经过点击 Code
Postman中点击Code
去查看对应的符合 HTTP 协议的原始的内容:
Postman查看请求的Http的原始内容
4.6.3.2 各类语言的示例代码Code Generation Tools
好比:
Postman把请求生成Swift代码
Postman把请求生成Java代码
Postman把请求生成其余各类语言的代码
目前支持的语言有:
HTTP
C (LibCurl)
cURL
C#(RestSharp)
Go
Java
OK HTTP
Unirest
Javascript
NodeJS
Objective-C(NSURL)
OCaml(Cohttp)
PHP
Python
Ruby(NET::Http)
Shell
Swift(NSURL)
代码生成工具的好处是:在写调用此 API 的代码时,就能够参考对应代码,甚至拷贝粘贴对应代码,便可。
4.6.4 测试接口
选中某个分组后,点击 Runner
Postman中点击Runner
选中某个分组后点击 Run
Postman中点击Run去测试
便可看到测试结果:
Postman中测试API的结果
关于此功能的介绍可参考Postman 官网(https://www.getpostman.com/postman)的git 图(https://www.getpostman.com/img/v2/postman/gifs/collection-runner.gif)
4.6.5 MockServer
直接参考官网。
4.7 功能界面
4.7.1 多 Tab 分页
Postman 支持多 tab 页,于此对比以前有些 API 调试工具就不支持多 Tab 页,好比Advanced Rest Client
多 tab 的好处:
方便在一个 tab 中测试,获得结果后,复制粘贴到另外的 tab 中,继续测试其它接口
好比此处 tab1 中,测试了获取验证码接口后,拷贝手机号和验证码,粘贴到 tab2 中,继续测试注册的接口
Postman拷贝Tab1中验证码
Postman粘贴验证码到Tab2
4.7.2 界面查看模式
Postman 的默认的 Request 和 Response 是上下布局:
Postman默认是上下布局
此处点击右下角的Two pane view,就变成左右的了:
Postman换成左右布局
[info] 左右布局的用途
对于数据量很大,又想要同时看到请求和返回的数据的时候,应该比较有用。
4.7.3 多颜色主题
Posman 支持两种主题:
当前是深色主题,效果很不错:
Postman的设置深色主题
Postman的深色主题的效果
能够切换到 浅色主题:
Postman切换浅色主题
Postman浅色主题效果
4.8 API 文档生成
在服务端后台的开发人员测试好了接口后,打算把接口的各类信息发给使用此 API 的前端的移动端人员时,每每会遇到:
要么是用复制粘贴 -> 格式不友好 要么是用 Postman 中截图 -> 方便看,可是不方便得到 API 接口和字段等文字内容 要么是用 Postman 中导出为 JSON -> json 文件中信息太繁杂,不利于找到所须要的信息 要么是用文档,好比去编写 Markdown 文档 -> 但后续 API 的变动须要实时同步修改文档,也会很麻烦 这都会致使别人查看和使用 API 时很不方便。
-> 对此,Postman 提供了发布 API
预览和发布 API 文档 下面介绍 Postman 中如何预览和发布 API 文档。
4.8.1 简要概述步骤
Collection
鼠标移动到某个 Collection,点击 三个点
Publish Docs
Publish
获得 Public URL
别人打开这个 Public URL,便可查看 API 文档
4.8.2 预览 API 文档
点击分组右边的大于号>
Postman的分组右边的>
若是只是预览,好比后台开发员本身查看 API 文档的话,能够选择:View in web
Postman的分组的View in web
等价于点击Publish Docs去发布:
Postman的分组点击Publish Docs
View in Web 后,有 Publish 的选项(见后面的截图)
View in Web 后,会打开预览页面:
好比:
奶牛云
https://documenter.getpostman.com/collection/view/669382-42273840-6237-dbae-5455-26b16f45e2b9
Postman的API文档预览-1
Postman的API文档预览-2
而右边的示例代码,也能够从默认的 cURL 换成其余的:
示例代码从cURL换成Python
API文档中Python示例代码
4.8.3 发布 API 文档
若是想要让其余人能看到这个文档,则点击 Publish:
API文档中点击Publish去发布
而后会打开相似于这样的地址:
Postman Documenter
Postman确认发布分组的API文档
点击 Publish 后,能够生成对应的公开的网页地址:
Postman已发布文档获得公开连接
打开 API 接口文档地址:
https://documenter.getpostman.com/view/669382/collection/77fd4RM
便可看到(和前面预览同样效果的 API 文档了):
Postman已发布的API文档效果
如此,别人便可查看对应的 API 接口文档。
4.9 已发布的 API 文档支持自动更新
后续若是本身的 API 接口修改后:
好比:
Postman去Edit编辑API
Postman的API更新编辑Edit Request
(后来发现,不用再去进入此预览和发布的流程,去更新文档,而是 Postman 自动支持)
别人去刷新该文档的页面:
https://documenter.getpostman.com/view/669382/collection/77fd4RM
便可看到更新后的内容:
Postman自动更新了已发布的API文档
主要参考:
**Github: **api_tool_postman(https://github.com/crifan/api_tool_postman)
**Manage **environments(https://www.getpostman.com/docs/postman/environments_and_globals/manage_environments)
postman-变量/环境/过滤等 - 简书(https://www.jianshu.com/p/5d7954b6d218)
Postman 使用手册 3——环境变量 - 简书(https://www.jianshu.com/p/bffbc79b43f6)
postman 使用之四:切换环境和设置读取变量 - 乔叶叶 - 博客园(http://www.cnblogs.com/qiaoyeye/p/5524750.html)
本文做者:老马
原文发布于博客园
原文连接:
如下是咱们的社区介绍,欢迎各类合做、交流、学习:)