dc53a233b9
重构项目结构,将分散在各模块的领域模型统一移动到manage-common模块 更新相关依赖和引用路径 调整docker-compose配置和测试标记 添加新的Playwright测试配置 优化Dockerfile构建过程
E2E测试项目
项目概述
本项目使用Python + Playwright框架对Novalon管理系统进行端到端测试。
技术栈
- Python: 3.9+
- Playwright: 1.40+
- Pytest: 7.0+
- Allure: 测试报告
项目结构
e2e_tests/
├── __init__.py
├── conftest.py # Pytest配置和fixtures
├── pytest.ini # Pytest配置文件
├── requirements.txt # Python依赖
├── config/
│ ├── __init__.py
│ └── settings.py # 配置管理
├── pages/
│ ├── __init__.py
│ ├── base_page.py # 基础页面类
│ ├── auth_page.py # 认证相关页面
│ ├── user_page.py # 用户管理页面
│ ├── role_page.py # 角色管理页面
│ └── dictionary_page.py # 字典管理页面
├── api/
│ ├── __init__.py
│ ├── base_api.py # 基础API类
│ ├── auth_api.py # 认证API
│ ├── user_api.py # 用户API
│ ├── role_api.py # 角色API
│ └── dictionary_api.py # 字典API
├── tests/
│ ├── __init__.py
│ ├── test_auth.py # 认证测试
│ ├── test_user.py # 用户管理测试
│ ├── test_role.py # 角色管理测试
│ ├── test_dictionary.py # 字典管理测试
│ └── test_oauth2.py # OAuth2测试
├── utils/
│ ├── __init__.py
│ ├── data_generator.py # 测试数据生成器
│ ├── assertions.py # 断言工具
│ └── logger.py # 日志工具
└── reports/ # 测试报告目录
安装依赖
# 安装Python依赖
pip install -r requirements.txt
# 安装Playwright浏览器
playwright install
运行测试
# 运行所有测试
pytest
# 运行特定测试文件
pytest tests/test_auth.py
# 运行特定测试用例
pytest tests/test_auth.py::test_login_success
# 生成Allure报告
pytest --alluredir=allure-results
allure serve allure-results
# 并发运行测试
pytest -n auto
配置说明
在 config/settings.py 中配置:
- API基础URL
- 测试数据库连接
- 测试用户凭证
- 超时设置
测试数据管理
测试数据自动准备和清理:
- 每个测试用例独立运行
- 使用fixture自动创建和清理测试数据
- 支持数据回滚
持续集成
测试可在CI/CD流程中自动运行:
- GitHub Actions
- GitLab CI
- Jenkins