本框架是基于 Python+Pytest+yaml+mysql+log+allure 实现的接口自动化测试框架。
- github:https://github.com/xuefengji/py-api-automation
- 开发者:SnowJi
- 联系邮箱:xuefvip@163.com
- 个人博客:https://snowji.cn
- 容易实现并且持续集成
- 相比 UI 自动化测试性价比更高,更稳定,可大量回归
- 对于大型项目,系统之间的模块越来越多,非常复杂
- 更安全的接口测试方法
- 测试数据隔离, 实现数据驱动
- 日志模块: 打印每个接口的日志信息,同样订制了开关,可以决定是否需要打印日志
- 缓存数据(如用例和依赖数据)的切换:本地存储或 Redis 存储
- 钉钉、邮箱通知
- 自定义拓展字段: 如用例中需要生成的随机数据,可直接调用
- 支持多接口数据依赖: 如 A 接口需要同时依赖 B、C 接口的响应数据作为参数
- 数据库断言: 直接在测试用例中写入查询的 SQL 即可断言,无需编写代码
- 动态多断言: 如接口需要同时校验响应数据和 SQL 校验,支持多场景断言
- 为了优化代码以便于后期的功能扩展,当前正在进行项目重构...
- 自动生成用例代码: 测试人员在 yaml 文件中填写好测试用例, 程序可以直接生成用例代码,纯小白也能使用
- 代理录制: 支持代理录制,生成 yaml 格式的测试用例
- 统计接口的运行时长: 拓展功能,订制开关,可以决定是否需要使用
- 支持更多种通知场景,比如企业微信、短信通知或其它第三方通知接口
- 多线程执行
├── common/ # 主要的接口测试逻辑
│ ├── asserts/ # 断言
│ ├── request/ # 请求、依赖相关
│ ├── ...
├── config/ # 配置相关
├── datas/ # yaml 用例
├── test_cases/ # 测试用例
├── logs/ # 日志输出
├── reports/ # 测试报告输出
├── utils/ # 工具类
│ └── caches/ # 缓存
│ └── data/ # 数据校验相关
│ └── database/ # 数据库连接
│ └── file/ # 用例解析
│ └── log/ # logging 模块相关
│ └── notify/ # 用户通知
│ └── random/ # 模拟数据(仅开发用)
│ └── report/ # 测试报告相关
├── main.py # 项目入口
├── ...
见 requirements.txt
。