官网解释Postman是一个API开发的协作平台。Postman的特性简化了构建API的每个步骤,并简化了协作,因此您可以更快地创建更好的API。
简单来讲Postman就是一款功能强大接口测试工具,它可以模拟几乎所有类型的HTTP请求。Postman适用于不同的操作系统,Mac、Windows系统等。
1
Postman特点
- 在Postman中直接快速、轻松地发送REST、SOAP和GraphQL
- 请求自动执行手动测试并将其集成到CI/CD中,以确保任何代码更改都不会破坏生产中的API
- 无需设置后端服务器,就可以通过模拟端点及其响应来通信API的预期行为
- 生成并发布美观的,机器可读的文档,使您的API更加易于使用
- 通过定期检查性能和响应时间来了解API的运行状况
- 提供用于构建和使用api的共享上下文,并与内置的版本控制进行实时协作
2
Postman安装
- 官方网站:https://www.getpostman.com/
- 下载地址:https://www.postman.com/downloads/
3
Postman界面布局
4
Postman基础功能简介
5
Collections:用例管理
Collections在Postman里面相当于一个文件夹,可以把同一个项目接口请求放在一个Collection里方便管理和分享,Collections里面也可以再建文件夹。
结果如下图
6
Post接口请求区域
- Authorization:身份验证,主要用来填写用户名密码,以及一些验签字段,Postman有一个helpers可以帮助我们简化一些重复和复杂的任务。当前的一套helpers可以帮助你解决一些authentication protocols的问题。
- Headers:请求的头部信息。
- Body:post请求时必须要带的参数,里面放一些key-value键值对。
- Pre-requerst Script:可以让你在请求之前自定义请求数据,这个运行在请求之前,语法使用JavaScript语句。
- tests:tests标签功能比较强大,通常用来写测试,它是运行在请求之后。支持JavaScript语法。Postman每次执行request的时候,会执行tests。测试结果会在tests的tab上面显示一个通过的数量以及对错情况。
- form-data:,它将表单数据处理为一条消息,以标签为单元,用分隔符分开。既可以单独上传键值对,也可以直接上传文件(当上传字段是文件时,会有Content-Type来说明文件类型,但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件)。
- x-www-form-urlencoded:对应信息头application/x-www-from-urlencoded,会将表单内的数据转换为键值对。
- raw:可以上传任意类型的文本,比如text、json、xml等,所有填写的text都会随着请求发送。
- binary:对应信息头Content-Type:application/octet-stream,只能上传二进制文件,且没有键值对,一次只能上传一个文件, 也不能保存历史,每次选择文件,提交。
7
Postman环境变量
7.1变量作用域
- Global 全局变量允许您访问集合、请求、测试脚本和环境之间的数据。全局变量可以在整个工作区中使用。因为全局变量可能会造成混乱,建议谨慎使用。
- Collection 集合变量可以在集合中的整个请求中使用。
- Environment 环境变量允许根据不同的环境定制处理,例如本地开发与测试或生产。
- Data 数据变量通过外部 CSV 和 JSON 文件定义数据集。
- Local 本地变量是临时的,只能在请求脚本中访问。
7.2优先级从高到底
Data ---- > Local ---- > Enviroment ---- > Global
7.3环境变量创建和使用
>
>
>
>
7.3.1 环境变量创建
>
>
>
>
7.3.2 环境变量使用一
>
>
>
>
7.3.3 环境变量使用二
当我们在操作某些接口的时候,要依赖于token才可以进行后续操作,那么我们可以把这个登录返回的变量token保存下来,供后续使用。
说明
定义一个变量,获取接口返回结果中所有参数,并转化为JSON格式
var tokenJson = JSON.parse(responseBody);
将返回中的值token设置为环境变量
pm.environment.set("token",tokenJson.data.token)
将返回中的值token设置为全局变量
pm.globals.set("token",tokenJson.data.token)
再次执行send后,点击右上角小眼睛,发现token已经存储在测试环境变量中了。
引用变量
8
Tests常用方法总结
可以使用JavaScript为Postman API请求编写测试脚本,并在收到响应后运行,通过测试,可以确保API能够按预期运行,确定服务之间的集成可靠运行,并验证现有功能是否完整。
我们在编写Tests脚本的时候,点击图右侧红色部分,就可以自动生成Tests脚本,只需按实际需要修改即可。
9
Pre-request Script常用方法总结
运行顺序:接口在发送请求之前运行,比如接口请求报文数据的准备。
我们经常会遇到这种情况,就是接口请求参数值是动态变化的,比如常见的timestamp,或者我们想重复调用一个接口,但是接口参数值不能重复,那么此处我们就可以用Pre-request Script来处理。
另外Postman自带很多脚本,我们在编写Pre-request Script脚本的时候,点击图右侧红色部分,就可以自动生成Pre-request Script脚本,只需按实际需要修改即可。
10
Postman接口测试流程
- 选择HTTP请求类型 说明:GET请求,参数选择Params,POST请求参数选择Body,数据格式为Json
- 输入接口请求地址
- 输入参数
- 发送请求
11
Postman接口测试实战
12
Postman接口自动化测试
我们来写三个查询天气的接口,分别查询上海,南京,昆山天气,校验接口返回city是否是上海,南京,昆山。
var response = JSON.parse(responseBody);
tests["校验是否为上海"] = response.city === "上海";