Postman简介
使用炫酷的Postman HTTP请求构建器创建和发送任何HTTP请求。编写你自己的测试用例来验证响应数据、响应时间以及其他更多的。
Create and send any HTTP request using the awesome Postman request builder. Write your own test cases to validate response data, response times, and more!
–Postman官方介绍
安装:
- Postman是基于Chrome浏览器开发的App,可以从Chrome应用商店获取,或者地址栏输入
chrome://apps/
旧版本的Postman是作为一个标签页出现,新版本的会新开窗口
在线安装需要翻墙,最新的离线安装包可邮件Postman开发团队索取,以下是笔者2016-07-01得到的邮件回复:The Chrome app is not available offline. We have native Mac and Windows apps, however.
The Mac app can be downloaded from https://www.getpostman.com/apps.
The Windows app is still in beta -
https://dl.pstmn.io/download/latest/win?arch=64 (64 bit)
https://dl.pstmn.io/download/latest/win?arch=32 (32 bit)
Hope this helps,
Cheers,
Abhijit,
Founder, Postman
界面功能-请求:

1.左侧边栏主要是导入、收藏请求,可以整理成目录:
a. Import:
导入,格式一般为Json;
b. Runner:
能够自动化执行一个或多个收藏文件夹下面的请求;
c. 收藏
收藏的请求(保存之后)有编辑、复制、删除等操作;
2.右侧请求编辑区
a.请求方法:
常用的有POST和GET,一般API文档中给出,或者Fiddler、花瓶等抓包工具中获取;
b.URL:
请求地址,可以从接口文档或者抓包工具获取;
c.Params按钮:
对于从抓包工具获取的接口,使用该按钮能自动生成form-data样式的请求主体;
d.Send按钮:
发送请求;
e.Save按钮:
能够将当前状态下的接口保存至收藏夹的某一个文件夹下面。
3.Header:
若服务器对接口header有要求,就需要在这里进行配置,比如数据类型等,Postman能够支持绝大多数的header类型,受限于Chrome,一小部分不支持。

4.Body:请求主体
接口中提交的各种数据均在这里配置,支持文本和文件,能够支持从环境变量获取,能够生成不同语言的请求代码:
a.form-data:
键值对样式,左侧是字段名,右侧是字段值,跟x-www-form-urlencoded没有太大区别:
在每一个字段右侧能够选择数据类型(文本或者文件);可以点击右侧Bulk Edit较为方便的进行复制和粘贴。

b.raw:
未解析的请求主体,支持多种语言:

5.Pre-request Script:
前置执行脚本,会在请求发出之前执行,一般用于获取时间戳或者随机值,支持JS:

6.Tests:
请求发出之后对返回值进行验证,在此处编写测试代码,给环境变量赋值:

7.code按钮:
Postman神器之一,编写完成之后的接口数据可以生成任意语言,直接能够执行代码,且支持绝大多数语言:

界面功能-Response:
1.Body:
接口返回主体,根据不同的返回数据可以手动选择解析格式:
2.Tests:
返回测试脚本验证情况:
进阶:Pre-request Scipt、Tests以及环境变量的使用:
1.Pre-request Script:
Tips:代码编辑区右侧有红色的提示方法,包含了所有Postman内中的方法,使用很方便。
栗子1:如果接口需要使用请求发送时的时间戳,就需要在请求发出之前生成时间戳:
获取时间戳之后接口中是拿不到数据的,此时应该将生成的时间戳存进环境变量:postman.setEnvironmentVariable("time_stamp", time_stamp);
之后在请求Body中的相应字段的value中使用环境变量

2.Tests:
(Response Body)中的数据作为后续数据使用:
很多基于登录数据的接口,需要在登录接口之后获取当前用户的用户信息(user_name、user_id、token等),此时需要在Tests中添加相应的语句存储到环境变量。
Tips:代码编辑区右侧有红色的提示方法,包含了所有Postman内中的方法,使用很方便。
栗子2:首先解析ResponseBody:
之后将所需的数据存储到环境变量:
之后就能在需要鉴权参数的接口中使用调用环境变量中的数据。
3.环境变量:
作为临时存储数据的仓库,能够将前置脚本以及接口返回的数据暂存,以供调用。
4.简单的测试脚本:
|
|
Tips:
将解析返回数据主体的语句放在try中防止解析失败造成异常;
右侧提示方法中的示例,可以直接在此基础上修改称自己的测试脚本: