一、介绍
postman是接口调试之利器,以chrome插件形式可以通过Chrome的应用商店进行搜索并安装(不过官方已经在2017年宣布不在维护chrome版本了,大家还是安装native版本吧),或者找行政小姐姐文慧借用硬盘,里面有postman的原生客户端,打开一路next就安装好了,再注册一下就可以尽情的蹂躏啦~ (登录后会自动同步你的数据,所有不要吝啬,注册是值得的)
优点:
门槛低上手快,支持用例管理
支持抓包、保存历史记录、多终端同步用例
支持批量运行、定时运行
自带各种代码模块,支持用例的导出、导入
对 web 接口测试支持友好(通过简单配置即可完成断言、上下文依赖、测试报表等)
有网页版,数据可同步,使得一次运行随处可见
有网页版,且账户有分组体系,方便团队协同
可实现环境路由
支持工具或脚本扩展
官网教程比较良心
缺点:
有自己的语法规则,高级操作有一定的学习成本(不过有官方文档,上手仍然很快)
部分良心扩展是收费的
好了,广告就到这里,开撸!
启动过后就是下图的样子,左边是用来管理用例的目录结构,右边是具体某个用例的请求内容的参数及响应内容;打开之后会默认会自带一个demo项目叫“Postman Echo”,里面有各种场景的用例,有兴趣的同学可以通过查看这些demo用例来学习如何使用POSTMAN。
关于界面介绍,这位同学写的很详细,感兴趣的同学可以看看。
噢,插一句,用惯了插件版的同学可能比较习惯之前的黑色主题,而客户端这个默认是白色的,大家可以在工具——设置——Themes中进行设置噢
二、请求
1.新建测试集、文件夹、请求用例
Postman测试管理的单位是测试集(Collections),测试集内可以创建文件夹(Folder)和具体的请求(Requests)。要写用例说先第一步把架子搭好,直接点击左边栏上面的添加目录图标来新增一个测试集(collections),这样就等于新建了一个项目,我们可以把一个项目或一个模块的用例都存放在这个集中;然后在测试集之下我们还可以再建立文件夹(folder)来进行功能用例的细分(点击用例集右侧的
——选择“Add Folder”完成文件夹的创建)。
创建了项目目录后我们就可以新建用例了,具体是点击右侧区域的+号来新增一个空用例的模板,也可以通过复制一个已有用例来达到新建一个用例的目的,2种方法见下:
2、添加请求信息
用例建好了请求内容还是空的,我们首先需要添加相应的请求信息,这部分的操作都在右侧的信息区域,一般流程如下:
(1)选择一个请求方法,如:get或post
(2)填写请求的url,如:http://www.baidu.com
(3)如果是get则请求参数直接写在url后,用?连接,如果是post则请求添加在body中
(4)点击“send”发送请求
(5)查看请求响应内容
post请求参数
post请求的主要的特点是把请求数据放在body中,而非url后
上面的样例是post方式传输普通参数,如果我们需要发送带文件的请求时,就要改下请求格式了,具体如下:
注意标红框的内容,都要对应上。
3、授权Authorization 本节参考:https://segmentfault.com/a/1190000012056247
下面讲解几种常用的认证方式。
No Auth,默认选中,不需要认证;
Bearer Toker,填写Token进行验证;
Basic Auth,基础身份认证,输入用户名和密码,直接明文发送数据,点击Preview Request按钮或直接send,会自动在Headers中生成authorization header.
Digest Auth,摘要认证。消息摘要式身份认证是在基本身份认证上面扩展了安全性,服务器为每一个连接生成一个唯一的随机数,客户端用这个随机数对密码进行MD5加密,然后返回服务器,服务器也用这个随机数对密码进行加密,然后和客户端传送过来的加密数据进行比较,如果一致就返回结果
客户端请求资源->服务器返回认证标示->客户端发送认证信息->服务器查验认证
OAuth 2.0,一个开放授权协议。支持获得OAuth 2.0 token并添加到requests中。关于OAuth 2.0 token,这位老师写的比较专业并且也易懂,推荐给大家:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
4、添加头信息
有些时候请求时还需要一些特定的头信息,postman同样可以完美支持,直接点击Headers标签就可以进行请求头的信息设置
5、预处理
预处理主要是对一些环境变量之类的进行设置,相当于数据初始化;代码能力不强也没关系,片段都配好了放在右边,直接点击就会自动生成代码。
根据实际需求,对以上操作相应的配置进行设置后,点击请求地址后面的【Send】就可以发起请求啦。
三、响应
请求发送后,就可以看到形如下面的响应了。
右上角显示的是响应HTTP状态码、请求的耗时以及大小;需要注意区分此状态码与正文中的状态码,HTTP状态码200代表接口请求正确(HTTP协议定的),而响应正文的状态码是程序员自己定义的,可以是任意值,是为了让接口使用者去区分正常数据与异常数据。
正文中pretty显示格式化后的Json;raw是未经处理的数据,preview可预览HTML页面。
四、其他
1、关于变量
Postman中有Global(全局)、Enviroment(环境)、Local(局部)、Data(数据)四种变量,优先级从高至低为:Data ---- > Local ---- > Enviroment ---- > Global。
变量在postman中的使用为{{variableName}},当postman解析变量时,字符串{{variableName}}会被替换为相应的值。
举个栗子:在一个环境变量中url的值被定义为http://www.baidu.com; 然后使用{{url}}为地主进行访问,结果依然是访问的http://www.baidu.com。
2、导出用例为代码
Postman还有一个棒棒的地方就是导出用例为CODE,即如果你编写好了用例之后可以通过点击屏幕右侧的【Code】来一键生成代码,并且还有好多语言和类库可以选择。
3、批量执行用例
接下来介绍POSTMAN的批量执行功能,这个功能由单独的runner来负责,我们需要在另外的界面进行操作,具体如下:
依次点击上面的按钮就会出现runer界面,如下直接点击最下面的“run 测试集名字”就好了。
4、环境配置
最后上一个比较好用的功能,大家都知道我们的测试环境往往会有多套,那怎么办呢,我们不能这个环境用例写完,然后再另外一个环境重新来一次吧?显然这种办法很不招人喜欢,可喜的是伟大的postman早就想到了这个问题。postman提供了环境变量的设置以满足不同测试环境的需求,如图,选择右上角工具图标,进入 Management Environments,点击Add新增环境(点击环境名称可以再次进行编辑)。以例子来说,我们创建了两个环境,分别给两个环境的url配置不同的地址,再使用的时候根据环境的切换,url的值就会发生变化,这样就达到了地址切换的效果。
今天主要介绍postman的一些基础使用方法,相关技巧的使用请见下回分解
小葵花课堂今天就上到这里,下课。。。
PS:你用或者不用,postman就在那里,关于postman的学习资料很多,我只是大自然的搬运工~