playwright/README.md
2025-03-07 09:54:56 +08:00

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

测试流程

  1. 数据收集

    • 登录系统
    • 收集菜单数据
    • 保存到文件
  2. 批量测试

    • 分批加载菜单
    • 逐个点击测试
    • 记录测试进度
  3. 错误处理

    • 自动重试失败项
    • 记录错误信息
    • 生成测试报告

开发指南

添加新的测试用例

  1. tests/e2e 目录下创建测试文件
  2. 使用 Page Object Model 模式
  3. 遵循现有的代码结构

修改页面对象

  1. tests/pages 目录下修改或添加页面类
  2. 继承 BasePage
  3. 实现必要的页面方法

贡献指南

  1. Fork 项目
  2. 创建特性分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

许可证

MIT