我平时测试api一般都用postman来发送http请求,然后看response是否符合预期。深入看了postman的说明文档后,发现我用的都是它最简单的功能,它有很多强大的特性,能让工作效率更高,满足更多的需求。
以下特性使用 Postman for Windows Version 5.5.2 版本进行介绍
1. Enviroment
使用变量可避免硬编码,只需要在一处修改变量,各个使用变量的地方都能同时生效。比如一组api使用了相同的url,如果不用变量的情况,我们想要修改url,就得为每个api修改url。如果使用了变量,那只需要修改变量的值,一次操作就行了。
环境在postman里的含义就是一组变量。为各个场景增加环境,然后在特定环境下添加所需变量,这样通过切换环境就能达到切换场景的作用。比如我们开发一般添加三种环境:dev(开发环境),test(测试环境),prd(生产环境)。
环境设置:
使用环境变量:
{{环境变量名称}}
2. Script
postman脚本可以定义在两个地方,一个Pre-requestScrpt(请求发送前执行),一个是Tests(请求完成后执行)。
支持的JS库:
Postman 沙箱介绍,以及其支持的js库
Postman自带的js函数
3. Collection
Collection可以理解为一组相关的api。创建了Collection后,就可以针对一组api进行一些操作。
- 为Collection设置变量,变量的作用范围就是这个Collection。
- 定义脚本。与请求的脚本类似,不过Collection的Pre-requestScript在本Collection里的每次请求执行前会执行一次,Collection中的Folder也可以设置Pre-reqeustScript,在Folder里的每次请求执行前执行。相应的Collection的Test 脚本也是一样。
- 编写文档。描述Collection里的api,支持markdown格式。
- Monitors,定期请求Collection里的api,来监控api的性能和返回报文的准确性。
- Mocks,对Collection中的api进行mock。
-
版本控制,可对每次Collection中api的改动进行记录。
-
Runner,自定义规则执行Collection中的api,可模拟实际的工作流。
4. 导入导出
Postman可以导入多种信息,比如Collection,Enviroment等信息。导入方式也是多样的,可以从文件,文件夹,url,粘贴文本导入信息。
相应的,Postman可以导出Collection,Enviroment信息。
5. Example
一个Example在Postman中代表一个api的request和response,一个api可以有多个example。example可以供mock server使用,当做mock数据。example也可以体现在api 文档中,充当api的示例。
6. mock server
postman不仅可以发送请求验证api,它也可以当做一个server提供mock服务。用来mock的数据就是上述提到的Example。
7. api document
api document可以为我们自动生成api的说明文档。它会将对collection,folder,api request中的header等的描述信息整理到文档中。
8. runner
runner可以跑一个collection中的所有api,我们可通过脚本来定义api的运行顺序,从而达到模拟真实的api调用情况。由此来完成自动化测试。runner还可以加载data文件,从而可以从外部导入请求报文等信息。
9. monitor
使用monitor可定期执行collection中的api,可用于监控api的性能与tests 脚本结合可验证api返回的准确性。如有执行有失败的情况,可发送警告给用户。