背景介绍
Postman是google开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome插件。其主要功能包括:
模拟各种HTTP requests
从常用的 GET、POST 到 RESTful 的 PUT 、 DELETE …等等。 甚至还可以发送文件、送出额外的 header。
Collection 功能(测试集合)
Collection 是 requests的集合,在做完一個测试的時候, 你可以把這次的 request 存到特定的 Collection 里面,如此一來,下次要做同样的测试时,就不需要重新输入。而且一个collection可以包含多条request,如果我们把一个request当成一个test case,那collection就可以看成是一个test suite。通过collection的归类,我们可以良好的分类测试软件所提供的API.而且 Collection 还可以 Import 或是 Share 出來,让团队里面的所有人共享你建立起來的 Collection。
人性化的Response整理
一般在用其他工具來测试的時候,response的内容通常都是纯文字的 raw, 但如果是 JSON ,就是塞成一整行的 JSON。这会造成阅读的障碍 ,而 Postman 可以针对response内容的格式自动美化。 JSON、 XML 或是 HTML 都會整理成我们可以阅读的格式
内置测试脚本语言
Postman支持编写测试脚本,可以快速的检查request的结果,并返回测试结果
设定变量与环境
Postman 可以* 设定变量与Environment,一般我们在编辑request,校验response的时候,总会需要重复输入某些字符,比如url,postman允许我们设定变量来保存这些值。并且把变量保存在不同的环境中。比如,我們可能会有多种环境, development 、 staging 或 local, 而这几种环境中的 request URL 也各不相同,但我们可以在不同的环境中设定同样的变量,只是变量的值不一样,这样我们就不用修改我们的测试脚本,而测试不同的环境。
操作环境
postman适用于不同的操作系统,Postman Mac、Windows X32、Windows X64、Linux系统,还支持postman 浏览器扩展程序、postman chrome应用程序等。
Postman的基础功能
这里写图片描述
Postman sending requests
安装好之后,先打开Postman,可以看到界面分成左右两个部分,右边是后头要讲的collection,左边是现在要讲的request builder。在request builder中,可以通过Postman快速的随意组装出我们希望的request。一般来说,所有的HTTP Request都分成4个部分,URL, method, headers和body。而Postman针对这几部分都有针对性的工具。
img
URL
要组装一条Request, URL永远是你首先要填的内容,在Postman里面你曾输入过的URL是可以通过下拉自动补全的哦。如果你点击Params按钮,Postman会弹出一个键值编辑器,你可以在哪里输入URL的Parameter,Postman会帮你自动加入到URL当中,反之,如果你的URL当中已经有了参数,那Postman会在你打开键值编辑器的时候把参数自动载入。
这里写图片描述
Authorization
身份验证,主要用来填写用户名密码,以及一些验签字段,postman有一个helpers可以帮助我们简化一些重复和复杂的任务。当前的一套helpers可以帮助你解决一些authentication protocols的问题。
Headers
点击’Headers’按钮,Postman同样会弹出一个键值编辑器。在这里,你可以随意添加你想要的Header attribute,同样Postman为我们通过了很贴心的auto-complete功能,敲入一个字母,你可以从下拉菜单里选择你想要的标准atrribute。
这里写图片描述
Method
要选择Request的Method是很简单的,Postman支持所有的Method,而一旦你选择了Method,Postman的request body编辑器会根据的你选择,自动的发生改变。
这里写图片描述
Request Body
如果我们要创建的request是类似于POST,那我们就需要编辑Request Body,Postman根据body type的不同,提供了4中编辑方式:
•form-data:它将表单数据处理为一条消息,以标签为单元,用分隔符分开。既可以单独上传键值对,也可以直接上传文件(当上传字段是文件时,会有Content-Type来说明文件类型,但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件。);post请求里较常用的一种。•x-www-form-urlencoded:对应信息头-application/x-www-from-urlencoded,会将表单内的数据转换为键值对。•raw:可以上传任意类型的文本,比如text、json、xml等,所有填写的text都会随着请求发送。•binary:对应信息头-Content-Type:application/octet-stream,只能上传二进制文件,且没有键值对,一次只能上传一个文件, 也不能保存历史,每次选择文件,提交。
img
Pre-requerst Script
可以让你在请求之前自定义请求数据,这个运行在请求之前,语法使用JavaScript语句。
Tests
tests标签功能比较强大,通常用来写测试,它是运行在请求之后。支持JavaScript语法。postman每次执行request的时候,会执行tests。测试结果会在tests
的tab上面显示一个通过的数量以及对错情况。
响应示例
请求的响应状态码,响应时间,以及响应大小。
这里写图片描述
响应体示例
响应的格式可以有多种。
img
GET 请求
点击url后面的Params,输入参数及value,可输入多个,会将参数绑定到url后面。
GET可以不填请求头。
响应体有三种:JSON,HTML,XML。正常情况下,自定义接口都是返回JSON格式的响应体。
POST请求
POST请求测试的时候主要分成四种参数提交方式:表单提交;JSON提交;XML提交;二进制提交。
表单提交方式有两种方式:multipart/form-data(既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息);x-www-form-urlencoded(只能上传键值对,并且键值对都是间隔分开的)。
管理用例 Collections
Collections集合:也就是将多个接口请求可以放在一起,并管理起来。一个工程一个Collection,这样方便查找及统一处理数据。
第一步, 创建Collections
点击上图中的带+号的图标,输入Name:”abc”,Description:”示例demo”,点击Create按钮即创建成功一个Collections.
第二步,在Collections里添加请求
在右侧准备好接口请求的所有数据,并验证后,点击save按钮。
导出和导入接口集
postman支持非常方便的导入和导出接口集,继续操作如下:
导出:
img
img
导入:
环境变量设置
环境变量:Global---全局;Enviroment --- 环境变量;Local --- 局部;Data ---- 数据
优先级从高到底:Data ---- > Local ---- > Enviroment ---- > Global
postman支持很方便的设置环境变量以及全局变量,并可以一键切换不同环境。
1:可以一键切换环境,选择No Environment则不使用环境变量,仅适用全局变量;
2:可以查看当前环境中的变量和全局变量(Globals)的值。
img
身份验证Authentication
Basic Auth
是基础的验证,会直接把用户名、密码的信息放在请求的 Header 中,输入用户名和密码,点击 Update Request 生成 authorization header。
Digest Auth
Digest Auth为摘要认证,消息摘要式身份认证是在基本身份认证上面扩展了安全性,服务器为每一个连接生成一个唯一的随机数,客户端用这个随机数对密码进行MD5加密,然后返回服务器,服务器也用这个随机数对密码进行加密,然后和客户端传送过来的加密数据进行比较,如果一致就返回结果。使用当前填写的值生成authorization header。所以在生成header之前要确保设置的正确性。如果当前的header已经存在,postman会移除之前的header。
OAuth 1.0
postman的OAuth helper支持OAuth 1.0,是基于身份验证的请求。OAuth不用获取access token, 你需要去API提供者获取的。OAuth 1.0可以在header或者查询参数中设置value。
OAuth 2.0
postman支持获得OAuth 2.0 token并添加到requests中。这种授权方式很常见,在各种第三方登录都是用OAuth 2.0授权。