Postman--下载及使用入门
安装
本文只是基于 Chrome 浏览器的扩展插件来进行的安装,并非单独应用程序。 首先,你要台电脑,其次,安装有 Chrome 浏览器,那你接着往下看吧。
1. 官网安装(别看)
打开官网,https://www.getpostman.com
点击那个灰灰色的「Chrome App (Free)」按钮。正常情况会跳转到Chrome网上应用店界面,但是,由于,嗯,你懂的!你一般看到的是第二张图片的样子,到处充满着忧伤...
先请擦掉眼泪,不要忧伤,我们依然可以好好的。
2. 非官网安装
这是一种直接通过打包已经安装的扩展程序的方式,来进行我认为的「非法安装」,但没办法,只能这样。
Postman 4.1.2 下载地址: http://files.cnblogs.com/files/mafly/postman-4.1.2.rar
你应该下载下来,解压缩到你喜欢的位置。
打开 Chrome 浏览器的「扩展程序」
点击「加载已解压的扩展程序...」按钮,找到你刚刚下载的安装包的位置,点击确定。
你去看看 Windows 的开始菜单,会突然发现多了一个「Chrome 应用」的文件夹,你点击里边的 Postman 试一下嘛。
好了,到这里通过「非法安装」安装的 Postman 已经完毕。
使用入门
Postman 是一个很强大的 API调试、Http请求的工具,当你还准备拿着记事本傻傻的去写 Form 表单的时候,你来试试 Postman,你会震惊到的。废话真多!
这是打开后,你第一眼看到的界面。
不用过多介绍,如果你是搞开发的,一眼就能看的明白,我下面只是简单介绍一下你可能会使用到的几个按钮操作。
重点看我标记出来的几个按钮,从上到下、从左至右的顺序依次是 导入、新建文件夹、保存请求、下载。
导入:用于导入你或团队保存的API请求文件,json格式。
新建文件夹:用于API请求分门别类,便于管理。
保存请求:保存你的API请求,返回值也能存储下来。
下载:下载你测试通过的API请求,团队共享,导入。json格式,可手动编辑的。
其实 Postman 是有团队协作的,可以共享请求参数及数据,但需要注册且是放在他们的服务器上的,对公司而言,会有安全性的考虑,大多数人很懒,会放弃这种方式。还是 QQ 发送文件来的方便。:)
高级功能
她可是允许用户发送任何类型的 HTTP 请求,例如 GET,POST,HEAD,PUT、DELETE等,并且可以允许任意的参数和 Headers。
她支持不同的认证机制,包括 Basic Auth,Digest Auth,OAuth 1.0,OAuth 2.0等。
她还可以响应数据是自动按照语法格式高亮的,包括 HTML,JSON和XML。
老旧的模拟请求方式
在开发APP接口的过程中,一般接口写完之后,后端开发都会模拟调用一下请求。在用Postman
之前,对于一般的get
请求我基本都会用浏览器来简单模拟。而对于post
请求,我一般习惯写代码来调用。可以用Java来模拟,当然用Python会更简洁。我们来看看这种方法存在哪些弊端?
- 不便于管理请求,通常都是用到一个写一个,如果后续还要用的话,最多只能依赖浏览器的历史记录。
- 对于开发、测试、生产环境来说,请求的域名参数可能都是不同的,这对于我们请求的维护又带来了极大的困难。
- 通过浏览器或自己调用获取的返回结果都是未经过格式化的文本,还需要借助
bejson
等平台来提高数据的可读性
用Postman模拟请求
然而今天需要推荐一款模拟请求的利器——Postman
,看看它是如何优雅地解决上面的这三个问题的。
使用Collections
管理请求
在Postman
中,请求可以保存,也就类似于文件。而Collection
类似文件夹,可以把同一个项目的请求放在一个Collection
里方便管理和分享,Collection
里面也可以再建文件夹。
环境变量
比如我们请求的域名,开发、测试、生产环境肯定都不一样。包括一些请求参数,比如测试环境的用户id和线上环境的用户id,肯定都是有差异的。这个就类似我们在maven
中通过配置profile
打不同环境的发布包。当然Postman
里还提供了Globals
也就是所谓的全局变量,与环境无关。
请求结果格式化
再夸一点吧
Postman在模拟请求方面强大且方便到令人发指,这里再说几句吧:
可以模拟各种Http方法,Post、Get、Put、Delete等
可以添加各种Headers,不过一些Headers受到Chrome和XMLHttpRequest规范的限制,被屏蔽了,具体有如下:
- Accept-Charset
- Accept-Encoding
- Access-Control-Request-Headers
- Access-Control-Request-Method
- Connection
- Content-Length
- Cookie
- Cookie 2
- Content-Transfer-Encoding
- Date
- Expect
- Host
- Keep-Alive
- Origin
- Referer
- TE
- Trailer
- Transfer-Encoding
- Upgrade
- User-Agent
- Via
好消息是,从Postman v0.9.6
版本开始,我们可以使用拦截器来发送这些受限的Headers
,也就是需要安装postman interceptor
插件
安装了postman interceptor
不仅可以发送Cookie
,并且可以使用浏览器的Cookie
。这样一来,我们只要在Chrome
里登陆了,那么就可以获取各种只能登陆后才能访问的请求结果了。这绝对是个实用的功能。
安装了postman interceptor
,还有一个好处!那就是可以拦截Chrome
的请求,通过Chrome
的请求可以自动被抓取到Postman
中。只需要在Chrome
中打开postman interceptor
的拦截功能,并且配置好拦截规则,默认是拦截所有请求,你也可以根据自己的规则去拦截特定的请求。有了它就相当于替代了我们去录制请求,然后我们就可以做点什么。。。
Postman还能做什么
Postman
除了是一个牛逼的模拟请求的工具,它还包含了很强大的接口测试功能:
测试主要包括三部分,在发起请求之前运行的Pre-request
,在收到响应之后运行的Test
,和一次运行所有请求的Collection Runner
Pre-request
Pre-request
和Test
用的语言都是JavaScript
,常用的功能都可以通过右边的Code Snippets
实现,点击就可以插入到代码区域。
可以看到Pre-request
里常用的功能就两种,环境变量的设置清除和全局变量的设置清除
Test
和Pre-request
相比,Test
的Snippets
就丰富多了,例如检查状态码、检查响应串、验证JSON、检查header
、限制响应时间。
如果需要将服务器响应的数据保存下来,用在后面的请求里,也需要在这一步做。
Collection Runner
当编写了很多测试之后,就可以使用Collection Runner
来自动运行整个Collection
了,入口就在主界面最上面一行的Runner
。选好Collection
、Environment
,如果有需要还可以载入JSON
和CSV
作为数据源。点击Start Test Run
,就可以看到结果了。