接口自动化:使用工具或者代码代替人对接口进行测试的技术。
测试目的:防止开发修改代码时引入新的问题。
在后端开发完成之后就可以提前去编写自动化脚本。
接口自动化测试流程
选取自动化测试用例
搭建自动化测试环境
搭建自动化测试框架
代码实现自动化
输出测试报告
实现持续集成
选取自动化测试用例
先选优先级高(先实现业务流程用例、后实现单接口用例)
针对功能稳定的接口优先进行自动化测试脚本的实现
搭建自动化测试环境
核心技术:
编程语言:python
测试框架:pytest
接口请求:requests
接口自动化框架设计思路
(1)搭建基础框架
定义项目目录结构
(2)通用功能类封装
封装通用功能,如:数据库工具类等
(3)接口对象封装与调用
封装接口API对象与PyTest框架编写测试用例
(4)测试数据参数化
测试数据json文件设计,参数化实现脚本的可复用性
(5)用例组织运行
组织测试用例运行,生成测试报告
搭建基础框架-定义项目目录结构
apiTestFramewodk #项目名称
----api # 定义封装被测系统的接口
----script #编写测试用例脚本
----data #存放测试数据文件
----report #存放生成的测试报告
----common #存放通用工具类
----config.py #定义项目的配置信息
----pytest.ini #pytest配置文件
Requests介绍
requests库:python中的“浏览器”,基于urllib的HTTP库
安装:pip install requests
操作步骤:
(1)导包
(2)发送接口请求:requests.请求方法(url,params=None,data=None,json=None,headers=None)
请求方法:get/post/put/delete
url:请求地址
params:请求查询参数
data:请求体为form表单参数
json:请求体位json参数
headers:请求头参数
(3)查看响应数据
接口对象的封装
一个软件,测试登录接口或者别的接口的时候都需要上一步的验证码接口,每次都要先测试验证码接口,然后下一个登录接口来调用上一个验证码接口返回的对象,这样太麻烦了,故为了简单,要像Postman一样实现接口关联。
核心思路:代码分层
测试脚本层:重点关注测试数据准备和断言
重点关注业务流程的处理
直接调用接口对象层发送请求
接口对象层: 根据接口API文档封装
重点关注如何调用接口
请求参数从测试脚本层传递
接口响应结果返回给脚本层