一、入门介绍
一款强大的网页调试与发送网页HTTP请求的工具。
1、版本
版本 Native APP:
优势1:可以直接操作cookie
优势2:自带proxy,可以用来抓包
优势3:自带menu bar
优势4:摆脱了Restricted headers
优势5:存在don't follow redirct option
优势6:自带postman console
版本 Chrom APP:2017年官方声明不再维护了
2、特点
特点1:模拟各种HTTP请求
例如:get、post、put、delete
特点2:测试集合Collection
Collection可以看做是request的集合,也可以当作是testsuite,对接口测试进行归类,支持导入,导出
特点3:测试沙箱
可以使用JS编写测试脚本,对request结果添加检查断言等
特点4:环境与变量
支持设置运行的环境及该环境下的一些变量;也支持设置一些和环境无关的变量
二、基础讲解
下载地址:https://www.getpostman.com/apps
Request四要素:
URL:填写请求的地址,如果有参数会自动解析显示在Params中,如果手动在Params添加参数,也会自动补充到URL中
Method:直接几乎所有的Metho,如GET,POST,PUT,DELETE等等
Headers:可以随便添加,编辑Header attribute,打出首字母时,会在下拉菜单中显示标准的attribute
Request Body:
form-data:可以上传一个文件作为key的value提交,key-value不写入URL,而是直接提交
x-www-form-unlencoded:key-value会写入URL
Raw:可以包含任何东西,都会随着请求发送
Binary:image,audio,video,text files
Response:Body、cookie、Header、Test Results、Status、Time、Size。
Body:提供三种视图查看
Pretty:格式化后显示,方便查看
Raw:最原始数据,text格式
Preview:自动解析HTML页面并显示
三、进阶使用
1、环境与变量
当测试存在多个环境时,可以先设置一个环境,然后在此环境下设置一系列的变量;
不选择测试环境(默认环境)时,也可以单独设置变量,这些变量生效,之后再选择环境,环境变量会覆盖这些变量
变量的格式:{{***}}
2、测试沙箱
Pre-request Script:可以修改或设置一些默认参数,在request之前执行
Tests:使用语言Java Script,用来检验response是否满足需求
由描述性地Key和布尔型结果组成,可以理解为断言,并且可以创建多个Key
Snippets可以快速添加代码,其他代码可参考官方文档:
https://learning.getpostman.com/docs/postman/scripts/test_scripts/
3、Postman Console
配合测试沙箱使用,可以打印结果
快捷键:ctrl + alt + c
常用语法:console.log("打印变量:" + data.city):
先打开Postman Console,再运行请求
4、Collections
如果每个request看作是testcase,那么Collection就是testsuite
Collection可以一键运行所有request
Colection可以使用csv或者json文件导入变量,官网提供模板文件
引用变量语法有两个:datda.username 或者 data['username']
【创建Collection】
直接将request保存到collection中
先创建collection,然后添加request
导入别人的collection
【运行Collection】
Collection runner运行在一个独立的面板中
Collection runner可以设置环境、运行次数、从文件中获取变量等
【查看结果】
Collection运行结果可以查看截图,也可以导出
四、实战
地址:https://www.tianqi.com/api/
入参:version - v1;cityname - 城市(如:北京)
练习1:
接口请求成功,获取北京的天气。图1
使用断言,判断返回内容包含“北京”。图2或图3
使用console查看变量
练习2:
使用Collection,同时获取多城市天气,使用json或者csv文件导入城市变量,
使用console查看从文件获取变量
例子:使用json文件导入城市变量
例子:使用csv文件导入城市变量
备注:如导入文件有乱码,把格式转化为UTF-8即可解决。