Skip to content

djfuycv/python-pytest-ecommerce-framework

Repository files navigation

🛒 电商自动化测试框架 (E-commerce Auto Test)

高效 · 全链路 · 零依赖 · 数据驱动

一个基于 Pytest + Allure 构建的企业级电商自动化测试框架。支持全业务闭环测试(登录/商品/订单/支付),内置强大的 Mock 层实现零依赖运行,并集成 pytest-xdist 实现高性能并行执行。

🚀 核心特性

  • 🔄 全链路业务闭环
    • 覆盖 登录 -> 商品查询 -> 下单 -> 支付 -> 状态流转 完整流程。
    • 支持复杂业务场景:库存扣减与回滚、订单状态机 (pending->paid)、重复支付拦截 (幂等性)。
  • 🎭 强大的 Mock 架构
    • 零依赖运行:内置内存级 DBMockRedisMock,无需真实数据库/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               # 项目文档

About

基于 Pytest + Requests 的电商接口自动化测试框架,包含数据驱动、DB 校验及 Allure 报告

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors