Postman接口测试
学习的b站的视频,链接:https://www.bilibili.com/video/BV134411v7Sj?t=107&p=10
一、Postman安装与基本操作
1.安装
官网下载地址:https://www.postman.com/downloads/
选择自己相应的操作系统安装即可,登录时创建账号
2.第一个接口请求实战
开发的天气API免接口文档地址:http://www.tianqiapi.com/index/doc?version=v6
若添加请求参数,如城市改为北京,操作如下
二、接口测试实战
1、接口测试
1).什么是接口测试?
接口测试就是针对软件对外提供服务的接口的输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能与接口描述文档的一致性。
2).为什么做接口测试?
接口测试通常能对系统测试得更为彻底,更好的保障产品质量,同时越早越底层的发现问题,修改和维护的代价也越小。
3).如何做接口测试?
根据接口文档设计用例,调用接口,验证结果。
4).第二个接口实例
百度ip查询接口从抓包到测试(这里采用的是谷歌浏览器自带的抓包功能)
像第一个接口示例一样操作
2、接口测试流程
1).获取接口信息
通过接口文档和抓包来获取接口的基本调用方式和返回
2).接口测试用例设计
根据获取到的接口信息,按照接口测试用例设计方法,设计参数和预期返回结果。
3).接口发包
使用工具或者编程向接口传递参数。
4).返回信息验证
获取接口返回的结果,进行解析和验证。
3、Postman发起接口请求
通过Chrome浏览器中按下F12打开开发者工具,切换到network菜单,对浏览器中的动作进行抓包
在接口测试中,接口请求信息中,重点需要关注四大信息:接口URL地址、请求方法、请求头以及请求参数。
简单理解,接口收发包的过程就像通过快递公司寄快递
- 请求过程:填写接口URL(获取对方地址)->设置http方法(选择快递公司)->设置请求头域( 填写快递单)->填写请求参数(寄送物品打包)
-响应验证:http状态码(是否成功收到回件)->收到接口响应(获取返回)->检查返回头域(查看快递单)->查看返回主体内容(拆快递查看内容)
4、Post接口实战
之前的案例中使用的GET方法接口都是在URL中添加请求参数的方式完成参数传递。
在对使用POST方法的接口进行测试时,需要特别注意请求参数在body中的格式以及请求头中的Content-Type头域,该头域规定了接口接受的请求参数传值格式。
在Postman请求体中传递参数时,在body菜单中设置请求体的格式。
x-www-form-urlencoded
对应于Content-Type头域为x-www-form-urlencoded的类型,是以键值对形式发送的表单参数,同时参数会携带在URL中。form-data
对应于Content-Type头域为multipart/form-data类型,既可以发送键值对,也可以进行文件参数传递。raw
选项中可以使用请求体原始格式编辑各Content-Type类型对应的参数格式,直接按请求体格式来进行内容发送。binary
选项用于发送文件内容请求。
三、断言与变量
1、环境变量与全局变量
接口测试过程中,经常需要使用已经设定好的参数或者从其他接口的返回中获取变化的参数。Postman提供了变量的机制供这种场景使用。
Postman变量分为全部变量和环境变量两种,在接口请求中可以选择一组环境变量使用。而全局变量可供所有请求使用。
使用变量名的格式为{{变量名}}
调用变量的值
2、测试沙箱实战
Postman测试沙箱其实是结合JS脚本完成测试中的功能,在请求发起前后实
现部分测试操作。
常用功能:
- 请求前脚本(pre-request scripts)设置请求前置操作如设置变量等。
- 请求后对状态码、响应头、响应正文等信息进行断言操作。
使用console控制台进行调试
通过console查看接口请求返回信息,以及对脚本中使用的变量进行输出调试等操作。
3、返回信息断言验证
为了更直观地进行接口测试,可以设置断言,来完成对响应结果的校验。
- 设置tests脚本,在右侧snippets中,提供了许多场景的脚本模板可以直接套用。
- 发包之后在响应面板中将得到测试结果。
- 官方文档地址:https://go.pstmn.io/docs-test-scripts
四、测试集与数据驱动
1、Postman测试集
为了更方便地管理接口请求的执行,可以通过postman测试集(collection)来完成测试的操作,每一个测试请求可以看成一个测试用例(testcase), collections能够一次管理多个测试用例来执行。通过save,能够将请求保存到collections中使用。
运行测试集
2、Postman数据驱动
当需要进行数据驱动方式运行多次Postman脚本时,可以通过csv文件或者json格式的文件对接口测试数据进行管理,以方便用例管理执行。
在接口请求中,参数使用变量名获取,之后在创建数据文件时,使用这些变量名编辑测试数据。
在测试沙箱中,参数的获取用data.参数名的形式来进行读取。
创建一个csv格式文件之后,通过notepad++或者excel进行编辑。
注意:文件需要使用UTF-8编码, 创建了csv文件之后,在notepad++中使用编码菜单中的转为UTF-8编码功能将文件转为UTF-8编码使用。(我用的记事本打开,然后选择保存时修改编码格式)
文件中第一行必须是接口请求使用的变量名,后续每行填写本次执行使用的变量值。
在collection runner中data选项选择编辑好的测试数据文件,preview能够查看文件预览,确保文件读取内容无误。
五、cookie篇
在接口测试中某些接口的调用需要使用已有cookie, Postman操作cookie可以有两种方式。
- 直接在头域中添加cookie头域,适用于已知请求时的cookie头域的情况
- 使用Postman的cookie管理机制,既可以手动添加,同时Postman也会将操作流程中获取的参数自动保存,因此可以通过调用前置接口来完成cookie获取。