项目简介
本项目是一个基于 Python + pytest + allure + log + yaml + mysql + redis + 钉钉通知 + Jenkins 实现的接口自动化框架。用户只需在 yaml 文件中编写测试用例,框架就能自动生成 pytest 代码,即使是零基础的代码小白也能轻松操作。该框架支持多业务接口依赖、多进程执行、数据库断言和接口响应断言等功能,还能生成 allure 报告,并通过企业微信、钉钉、邮箱、飞书等方式发送通知。
项目的主要特性和功能
- 数据驱动与隔离:实现测试数据隔离,支持数据驱动,使测试数据与测试逻辑分离。
- 多接口数据依赖:支持一个接口同时依赖多个其他接口的响应数据作为参数。
- 数据库断言:可直接在测试用例中写入查询的 SQL 进行断言,无需额外编写代码。
- 动态多断言:支持同时校验响应数据和 SQL 数据,适用于多种测试场景。
- 自动生成用例代码:测试人员在 yaml 文件中填写测试用例后,程序能自动生成对应的用例代码。
- 代理录制:支持使用代理录制功能,生成 yaml 格式的测试用例。
- 运行时长统计:可统计接口的运行时长,且该功能可通过开关进行控制。
- 日志模块:能打印每个接口的日志信息,日志打印功能也可通过开关控制。
- 多方式通知:支持钉钉、企业微信、邮箱、飞书等多种通知场景,测试执行完成后可选择相应方式发送通知。
- 自定义拓展字段:可直接调用自定义的随机数据生成函数,满足特殊测试场景需求。
- 多线程执行:支持多线程执行测试用例,提高测试效率。
- 接口文档转换:支持将 swagger 接口文档转换为 yaml 用例,节省用例编写时间。
安装使用步骤
环境搭建
在执行本框架前,需要搭建好 Python、JDK、Allure 环境,搭建教程如下: - Python 搭建教程:http://c.biancheng.net/view/4161.html - JDK 环境搭建:https://www.cnblogs.com/zll-wyf/p/15095664.html - Allure 安装:https://blog.csdn.net/m0_49225959/article/details/117194318
依赖库安装
环境搭建完成后,安装本框架的所有第三方库依赖,执行以下命令:
pip3 install -r requirements.txt
若在安装过程中出现 “Could not find a version” 类似异常,可能是 Python 环境版本不一致导致的,可直接使用 pip install 库名称
不指定版本进行安装。
创建用例
- 在
data
文件夹下方创建相关的 yaml 用例。 - 写完之后,执行
utils/readFilesUtils/caseAutomaticControl.py
文件,生成自动化代码。 - 执行
caseAutomaticControl.py
文件后,test_case
层会新增该条用例的对应代码,可直接执行该用例进行调试。 - 注意,如果生成对应的测试代码之后,期间更改过 yaml 用例中的内容,需要重新生成代码,否则可能导致运行失败。
运行测试
当所有接口都编写好之后,可以直接运行 run.py
主程序,执行所有自动化接口。运行完成后,会生成 Allure 报告。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】