Go to file
2025-03-07 14:34:48 +08:00
config 优化分批执行点击菜单 2025-03-07 09:42:48 +08:00
src 优化分批执行点击菜单 2025-03-07 14:34:48 +08:00
test-data 优化分批执行点击菜单 2025-03-06 17:49:42 +08:00
tests/e2e 优化分批执行点击菜单 2025-03-07 14:34:48 +08:00
.env.dev 优化分批执行点击菜单 2025-03-07 14:21:05 +08:00
.env.uat 第一次 2025-03-04 17:13:49 +08:00
.gitignore 第一次 2025-03-04 17:13:49 +08:00
package.json 优化分批执行点击菜单 2025-03-07 13:50:01 +08:00
playwright.config.js 优化分批执行点击菜单 2025-03-07 13:50:01 +08:00
README.md 优化分批执行点击菜单 2025-03-07 13:36:56 +08:00

Playwright E2E Testing Framework

本项目是基于Playwright的端到端测试框架用于自动化测试Web应用的功能和性能。

项目架构

playwright/
├── src/
│   ├── controllers/     # 控制器层,负责测试流程控制
│   ├── pages/          # 页面对象层,封装页面操作
│   └── services/       # 服务层,处理数据和业务逻辑
├── tests/
│   └── e2e/           # 端到端测试用例
├── .env.dev           # 开发环境配置
└── playwright.config.js # Playwright配置文件

配置管理

项目采用分层的配置管理方式,确保配置的统一性和可维护性:

1. 环境变量配置 (.env.dev)

环境变量配置文件包含所有可配置项,按功能分类:

# 基础配置
BASE_URL=https://ibp-dev.longi.com

# 测试配置
TEST_DATA_DIR=test-data
TEST_BATCH_SIZE=5
TEST_RETRY_COUNT=3
TEST_BATCH_INTERVAL=1000
TEST_MAX_RETRY_DELAY=5000

# 超时配置
MENU_TIME_OUT=30000
EXPECT_TIMEOUT=30000

# 浏览器配置
BROWSER_HEADLESS=false
BROWSER_SLOW_MO=50
BROWSER_TIMEOUT=30000
VIEWPORT_WIDTH=1920
VIEWPORT_HEIGHT=1080

# 数据目录配置
MENU_DATA_FILE_PATH=test-data/menu-data.json
TEST_PROGRESS_FILE_PATH=test-data/test-progress.json

2. Playwright配置 (playwright.config.js)

Playwright配置文件统一管理所有浏览器相关的配置

  • 浏览器设置headless模式、视窗大小等
  • 测试超时设置
  • 并发和重试策略
  • 测试报告配置

3. 测试控制器配置 (TestController)

测试控制器只管理测试流程相关的配置:

  • 批次大小
  • 重试次数
  • 批次间隔
  • 最大重试延迟

主要功能

  1. 菜单遍历测试

    • 自动收集菜单数据
    • 批量执行菜单点击测试
    • 支持断点续测
    • 提供测试进度跟踪
  2. 智能重试机制

    • 支持失败重试
    • 使用指数退避策略
    • 可配置最大重试次数和延迟
  3. 灵活的配置系统

    • 所有配置项可通过环境变量覆盖
    • 提供合理的默认值
    • 配置项分类清晰

使用说明

  1. 安装依赖

    npm install
    
  2. 配置环境变量

    • 复制 .env.dev.env
    • 根据需要修改配置项
  3. 运行测试

    npm test
    
  4. 查看报告

    npm run show-report
    

最佳实践

  1. 配置管理

    • 所有配置统一在 .env 文件中管理
    • 不同环境使用不同的 .env 文件
    • 避免在代码中硬编码配置值
  2. 测试用例编写

    • 使用页面对象模式
    • 保持测试用例独立性
    • 合理使用断言和超时设置
  3. 错误处理

    • 实现合理的重试机制
    • 记录详细的错误日志
    • 提供清晰的错误信息

注意事项

  1. 确保环境变量配置正确
  2. 注意浏览器配置只在 playwright.config.js 中管理
  3. 测试用例应该是独立和可重复的
  4. 定期检查和清理测试数据

常见问题

  1. 测试运行失败

    • 检查网络连接
    • 验证环境变量配置
    • 查看错误日志
  2. 配置不生效

    • 确认环境变量文件位置正确
    • 检查配置项拼写
    • 重启测试进程

贡献指南

  1. Fork 项目
  2. 创建特性分支
  3. 提交变更
  4. 发起 Pull Request

许可证

MIT