接口测试相关知识
接口定义
我们常说的接口一般指两种:
- API:应用程序编程接口。程序间的接口;
- GUI:图形用户界面。人与程序的接口;这里我们所说的接口特指API接口。
API接口定义:对协议进行定义的引用类型。
开发人员分前后端,他们之间如何配合工作的,就是其中一方定义接口,另一方来调用接口,以实现预期功能。
常见接口分类
- restful webservice接口
- Soap Webservice接口
WebService接口是走soap协议,请求报文和返回报文都是xml格式,通过SoapUI工具进行测试;restful webservice接口走HTTP协议,通过路径来区分调用的方法,请求报文入参有多种形式,返回报文一般为json串,最常见的是get和post请求方法。
为什么要进行接口测试
- 接口测试必要性
当今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,所以就要做接口测试。同时,接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。
- 接口测试原理
模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端再接收应答的一个过程。
- 接口测试范围
接口的功能、性能、安全性。重点关注数据的交换,传递和控制管理过程,还包括处理的次数。
接口测试对象是接口,但随着系统复杂度越来越高,接口越来越多,完全覆盖是一件很困难的事情。通常情况下主要测试最外层的两类接口:数据进入系统的接口(调用外部系统的参数为本系统使用)、数据流出系统接口(验证系统处理后的数据是否正常)
学会看接口文档
- 接口说明
- 调用的url
- 请求方法(get、post)
- 请求参数,参数类型、请求参数说明
- 返回参数说明
- 返回示例
postman使用简介
postman用户界面介绍
- Sidebar侧边栏
Postman侧边栏允许你查找、管理请求和集合。侧边栏分为两个主要的选项卡,包括历史和集合选项卡。 可以拖动右边的边来调整侧边栏的宽度。侧边栏也可以隐藏到小屏幕(标题栏 view—>toggle side bar)。
(1)历史选项卡 :通过Postman应用程序发送的每个请求都保存在侧边栏的History选项卡中。
(2)集合选项卡 :在侧栏中创建和管理集合选项卡的集合。 - Header Bar
Postman的顶部工具栏包含以下选项:
(1)新建按钮——可以新建请求,集合,环境等
(2)运行按钮-打开集合运行页面
(3)导入按钮——导入Postman文件、文件夹、form link等
(4)新窗口图标-打开一个新的tab页、新的窗口、新的runner等
(5)构建器和团队库选项卡——在请求生成器和Team Library视图之间切换
(6)抓取API请求图标——使用postman抓取API请求
(7)同步状态图标——同步API请求图标
(8)用户下拉——管理集合链接和你的个人资料或登录/登出,你的Postman帐户
(9)开放API集合(点击打开一个网址)
(10)通知图标-接收通知或广播
(11)设置图标——管理Postman应用程序设置,并找到其他支持资源
(12)❤——分享按钮 - Builder
Postman通过选项卡布局,用于在构建器中发送和管理API请求。上半部分是请求构建器,下半部分是响应查看器。
(1) Cookies——管理cookie模式是通过点击cookie链接访问的。该特性允许你管理与请求相关的cookie。
(2) Code——生成的代码片段模式通过保存按钮下面的最右边的Code链接。该特性允许你生成与请求相关的代码片段,该请求支持20多种语言(http、java、go等语言)
postman优点
- 支持对接口测试用例进行管理
- 支持get、post、文件上传、响应验证、环境参数管理
- 支持批量运行接口测试用例
- 支持接口测试用例导入导出
- postman能别人所不能,可以针对线上线下测试环境同一个数据进行测试
借助potsman完成接口测试(以post请求方式作为示例)
- POST 请求
步骤:建立请求集合—搭建环境—选择请求方法(post)—输入请求地址—输入请求参数—点击send按钮——选择响应格式—用测试响应的内容跟接口文档对比查看返回的参数是否一致 -
建立接口请求集合
- 搭建环境(接口请求记得选择环境)
点击右上角设置图标,进入管理环境界面
图中的VARIABLE
是变量名称的意思,INITIAL VALUE
是变量的初始值,CURRENT VALUE
是现在值的意思。当三个值输入完成时,点击图中的Add
按钮就添加进去了; 再次修改就会出现Updata
;{{mobile_test}}
引用变量。 -
post请求示例
- 选择请求方式和输入请求地址,输入请求参数和值,根据实际情况选择上传格式(from-data,raw等),Header一般情况不用填写key和value,但是某些接口把token放在header,这种情况下就得把token和值填入进去。
- from-data:以表单的形式提交,将表单的数据处理为一条消息,以标签为单元,用分隔符分开。
- x-www-form-urlencoded:以表单的形式提交,将表单内的数据转换为键值对,key1=value&key2=value。
- raw:可以上传任意格式的文本,可以上传text、json、xml、html等。
- binary:上传文件,Excel,txt,word等。
- 根据传参进行设计接口测试用例,各种异常正常的传参方式都要进行测试,查看返回数据是否与接口文档一致。