拒绝重复!我开源了一套 Python API 自动化测试框架
在快速迭代的开发节奏下,API 稳定性就是系统的生命线。 为了摆脱繁琐的手工回归和分散的测试脚本,最近我重构并开源了一套 基于 Python 的全链路 API 自动化测试框架 。它不仅仅是一堆脚本,更是一套集 自动重试、多环境切换、钉钉/邮件通知、禅道缺陷统计 于一体的工程化解决方案。 做自动化测试,最忌讳代码耦合。我将项目拆分为四大核心板块,各司其职:- 🛠️ 工具层 (Utils) :封装 HTTP 请求、Token 自动管理、日志轮转,让业务逻辑更纯粹。
- 📝 用例层 (Cases) :基于 Pytest,只关注测试数据与断言。
- ✅ 验证层 (Verifications) :独创的深度验证模块,不仅测“通不通”,更测“对不对”(如时间戳逻辑、统计格式)。
- ⚙️ 脚本层 (Scripts) :提供 URL 解码、日志清理等运维小工具,提升日常效率。
清晰的目录结构是团队协作的基础。我的 Api_Auto 项目长这样:- 真正的“多环境”无缝切换不再需要改代码来切换测试环境。只需在 config.ini 中修改 current = test 或 prod ,框架自动加载对应的域名、账号和数据库配置。
- 闭环反馈:从执行到通知测试跑完了没人看?不存在的。 框架内置了 钉钉 Webhook 和 SMTP 邮件 模块。测试结束后,通过率、失败详情、错误日志会自动推送到群里,第一时间预警。
这是我最满意的功能。传统模式下,统计 Bug 需要人工登录禅道截图写日报。 现在,框架会自动:- 自动生成质量日报 并推送。 让数据说话,让质量透明化。
- 第一步:安装依赖`pip install -r requirements.txt`
- 第二步:配置环境编辑 utils/configs/config.ini ,填入你的禅道账号、钉钉机器人 Token 以及测试环境信息。
运行结束后,你将看到控制台输出详细结果, logs/ 目录下生成按天归档的日志,同时收到一份精美的测试报告。- 加用例 :在 test_cases/ 新建文件,遵循 Pytest 规范,无需改动框架代码。
- 加工具 :在 utils/ 扩展新功能,随时导入使用。
- 日常维护 :定期运行 scripts/verifylogcleanup.py 清理旧日志,保持服务器清爽。
这套框架是我在实际项目中不断打磨出来的,旨在解决“脚本难维护、结果难统计、流程不闭环”的痛点。无论是初创团队快速搭建质量体系,还是大厂团队优化现有流程,希望它能为你提供一些参考。技术的价值在于提效,而自动化的终极目标是解放人力。作者 :無涯 日期 :2026-02-26 (欢迎关注公众号,获取更多自动化测试实战干货)