学习目标
1. 能够根据接口API文档编写接口测试用例
2. 能够使用Postman接口测试工具进行测试,并熟练使用创建测试集、断言、关联、参数化及生成测试报告等核心技术
3. 能够使用Python+Requests封装的接口测试框架,实现接口对象封装、测试用例编写、测试数据管理及生成测试报告
一、什么是接口?
-是实现数据交互的通道,分为硬件接口和软件接口两类。接口包括系统内部的接口和系统之间的接口
二、接口测试的特点(接口测试主要是测试数据的传递、交互、控制管理过程及接口之间的依赖)
1. 测试提前介入,提前发现bug
2. 可以发现一些页面操作发现不了的问题
3. 接口测试成本低效益高
4. 接口测试是从用户的角度对系统进行全面的检测(灰盒测试)
三、接口测试原理:
-模拟客户端建立连接-->发送请求-->服务器处理请求并响应-->校验响应数据
四、接口测试的实现方式
- 使用接口测试用具实现:Jmeter、Postman
- 通过编写代码来实现:Python+Requests
五、HTTP协议(HyperText Transfer Protocol超文本传输协议)
(一)、协议特点
支持客户端/服务端模式、简单快速、灵活(多种请求方式)、无状态、无连接
(二)、URL格式解析
统一资源定位符URL组成:协议+域名+端口号+资源路径+参数名
例如:https://editor.csdn.net/md?not_checkout=1&spm=1011.2124.3001.6192&articleId=134927792
(三)、http请求:请求行、请求头、请求体(get请求没有请求体)
1、请求行:请求方式和要访问的资源以及所使用的的版本协议,例如:GET /api/testing/myPending/selectCout HTTP/1.1
常用用请求方式:
1)、GET:从服务器获取资源
2)、POST:在服务器新建资源
3)、PUT:在服务器更新资源
4)、DELETE:从服务器删除资源
其他请求方式:
1)、HEAD:
2)、TRACE:请求服务器回送收到的请求信息,主要拥有测试
3)、CONNECT:保留将来使用
4)、OPTIONS:请求查询服务器性能,或者请求查询与资源相关的选项和需求
2、请求头:请求头由键值对组成,请求头部通知服务器关于客户端的请求信息
User-Agent:产生请求的浏览器类型
Accept:客户的可识别的内容类型列表
Content-Type:请求体的数据类型,常见的有html、text、图片、json、表单和文件等
(四)、HTTP响应(由状态行、响应头、响应体组成)
1、状态行:由协议版本号、状态码、状态消息
1XX:表示信息已接收,继续处理
2XX:表示请求已被成功接收、理解、接受
3XX:重定向,表示完成请求需更进一步操作
4XX:客户端错误--请求有语法错误或请求无法实现
5XX:服务端错误--服务端未能实现合法的请求
2、响应头
键值对形式存在,用来描述服务器相关内容
3、响应体
响应数据:XML、json、html