2.9 KiB
2.9 KiB
Playwright 自动化测试项目
基于 Playwright 的自动化测试框架,专门用于测试 Web 应用的菜单可访问性。
项目结构
playwright-project/
├── tests/ # 测试相关文件
│ ├── e2e/ # 端到端测试用例
│ │ └── menu.spec.js # 菜单测试用例
│ ├── pages/ # Page Object Models
│ │ ├── BasePage.js # 基础页面类
│ │ ├── LoginPage.js # 登录页面类
│ │ └── MainPage.js # 主页面类
│ └── utils/ # 测试工具
│ └── FileUtils.js # 文件操作工具
├── src/ # 源代码
│ ├── services/ # 业务服务
│ │ └── MenuDataService.js # 菜单数据服务
│ └── controllers/ # 业务控制器
│ └── TestController.js # 测试控制器
├── config/ # 配置文件
│ └── env.js # 环境变量配置
├── playwright.config.js # Playwright 配置
└── package.json # 项目配置
功能特性
- 🔄 批量测试菜单可访问性
- 💾 自动保存和恢复测试进度
- 🎯 支持分批次执行测试
- 🔍 详细的测试报告
- 🛠 可配置的测试参数
环境要求
- Node.js 14+
- npm 6+
- Playwright 依赖项
安装
# 安装依赖
npm install
# 安装 Playwright 浏览器
npx playwright install
配置
在 .env.dev 文件中配置以下环境变量:
# 基础URL
BASE_URL=https://your-app-url.com
# 测试配置
TEST_BATCH_SIZE=5 # 每批次测试的菜单数量
TEST_RETRY_COUNT=3 # 失败重试次数
TEST_BATCH_INTERVAL=2000 # 批次间隔时间(ms)
MENU_TIME_OUT=30000 # 菜单加载超时时间
# 数据目录配置
TEST_DATA_DIR=test-data
MENU_DATA_FILE_PATH=test-data/menu-data.json
TEST_PROGRESS_FILE_PATH=test-data/test-progress.json
使用方法
运行测试
# 运行菜单测试
npm run test:menu
# 使用 UI 模式运行测试
npm run test:menu:ui
# 调试模式运行测试
npm run test:menu:debug
# 清理数据并重新测试
npm run test:menu:clean
查看报告
npm run report
测试流程
-
数据收集
- 登录系统
- 收集菜单数据
- 保存到文件
-
批量测试
- 分批加载菜单
- 逐个点击测试
- 记录测试进度
-
错误处理
- 自动重试失败项
- 记录错误信息
- 生成测试报告
开发指南
添加新的测试用例
- 在
tests/e2e目录下创建测试文件 - 使用 Page Object Model 模式
- 遵循现有的代码结构
修改页面对象
- 在
tests/pages目录下修改或添加页面类 - 继承
BasePage类 - 实现必要的页面方法
贡献指南
- Fork 项目
- 创建特性分支
- 提交更改
- 推送到分支
- 创建 Pull Request
许可证
MIT