高效 · 全链路 · 零依赖 · 数据驱动
一个基于
Pytest+Allure构建的企业级电商自动化测试框架。支持全业务闭环测试(登录/商品/订单/支付),内置强大的 Mock 层实现零依赖运行,并集成pytest-xdist实现高性能并行执行。
- 🔄 全链路业务闭环
- 覆盖 登录 -> 商品查询 -> 下单 -> 支付 -> 状态流转 完整流程。
- 支持复杂业务场景:库存扣减与回滚、订单状态机 (
pending->paid)、重复支付拦截 (幂等性)。
- 🎭 强大的 Mock 架构
- 零依赖运行:内置内存级
DBMock和RedisMock,无需真实数据库/Redis 即可验证核心逻辑。 - 事务模拟:完美模拟数据库事务行为(如:创建订单自动扣库存,取消订单自动回滚)。
- 并发控制:模拟分布式锁,验证防重提交机制。
- 零依赖运行:内置内存级
- ⚡ 高性能并行执行
- 集成
pytest-xdist,支持多进程并行测试。 - 实测性能:12+ 核心用例在 0.65 秒 内完成,效率提升 300%+。
- 集成
- 📝 智能数据驱动
- 基于
YAML管理测试数据,业务与代码分离。 - 动态参数传递:独创
LAST_CREATED占位符机制,自动解决跨步骤数据依赖(如:自动传递上一步生成的order_id)。
- 基于
- 📊 可视化报告
- 集成
Allure,提供清晰的业务流程图、时间线和错误日志。
- 集成
ecommerce_auto_test/
├── api/ # 接口封装层 (Order, Payment, Product, Login)
├── mock/ # Mock 核心层 (DBMock, RedisMock)
├── data/ # 测试数据 (YAML)
├── testcases/ # 测试用例 (Test Flow)
├── utils/ # 工具类 (DataUtil, Logger, Config)
├── config/ # 配置文件 (环境切换)
├── reports/ # HTML 报告输出
├── allure-results/ # Allure 原始数据
├── pytest.ini # Pytest 配置
└── README.md # 项目文档