925f79c45a
- 创建环境配置文件environments.ts - 支持development/staging/production三个环境 - 更新playwright.config.ts使用环境配置 - 创建.env.example环境变量示例 - 创建ENVIRONMENT.md环境配置指南 - 支持CI/CD集成配置
3.8 KiB
3.8 KiB
E2E测试环境配置指南
环境说明
本项目支持三个测试环境:
- development: 本地开发环境 (http://localhost:3001)
- staging: 预发布环境
- production: 生产环境
快速开始
1. 配置环境变量
复制环境变量示例文件:
cp e2e/.env.example e2e/.env
2. 运行测试
开发环境测试
# 默认使用development环境
npm run test:e2e
# 或者显式指定
TEST_ENV=development npm run test:e2e
预发布环境测试
TEST_ENV=staging npm run test:e2e
生产环境测试
TEST_ENV=production npm run test:e2e
环境配置详解
Development环境
- baseURL: http://localhost:3001
- headless: false (显示浏览器窗口)
- slowMo: 100ms (减慢操作速度,便于调试)
- retries: 0 (不重试)
- webServer: 自动启动开发服务器
Staging环境
- baseURL: https://staging.novalon.com
- headless: true (无头模式)
- slowMo: 0 (正常速度)
- retries: 1 (失败重试1次)
- webServer: 不启动
Production环境
- baseURL: https://novalon.com
- headless: true (无头模式)
- slowMo: 0 (正常速度)
- retries: 2 (失败重试2次)
- webServer: 不启动
环境变量
| 变量名 | 说明 | 默认值 |
|---|---|---|
| TEST_ENV | 测试环境 | development |
| BASE_URL | 基础URL | 根据环境配置 |
| API_URL | API URL | 根据环境配置 |
| HEADLESS | 无头模式 | true |
| SLOW_MO | 减慢操作(ms) | 0 |
| TIMEOUT | 超时时间(ms) | 120000 |
| RETRIES | 重试次数 | 0 |
| SCREENSHOT | 截图策略 | only-on-failure |
| VIDEO | 视频策略 | retain-on-failure |
| TRACE | 追踪策略 | retain-on-failure |
| CI | CI环境 | false |
| DEBUG | 调试模式 | false |
| PWDEBUG | Playwright调试 | false |
CI/CD集成
Woodpecker CI配置示例
pipeline:
test-smoke:
image: mcr.microsoft.com/playwright:v1.48.0-focal
commands:
- cd e2e
- npm ci
- TEST_ENV=staging npx playwright test --project=chromium --grep=@smoke
when:
event: [push, pull_request]
test-regression:
image: mcr.microsoft.com/playwright:v1.48.0-focal
commands:
- cd e2e
- npm ci
- TEST_ENV=staging npx playwright test --project=chromium --grep=@regression
when:
event: [push, pull_request]
test-full:
image: mcr.microsoft.com/playwright:v1.48.0-focal
commands:
- cd e2e
- npm ci
- TEST_ENV=production npx playwright test
when:
event: [deployment]
最佳实践
1. 本地开发
使用development环境,可以看到浏览器操作过程,便于调试:
TEST_ENV=development npm run test:e2e
2. 代码提交
在staging环境运行smoke和regression测试:
TEST_ENV=staging npm run test:e2e -- --grep="@smoke|@regression"
3. 生产部署
在production环境运行完整测试套件:
TEST_ENV=production npm run test:e2e
4. 调试测试
启用Playwright调试模式:
PWDEBUG=1 TEST_ENV=development npm run test:e2e -- --grep="test name"
故障排查
问题1: 环境变量不生效
确保在项目根目录运行命令,或者在e2e目录下运行。
问题2: 开发服务器启动失败
检查端口3001是否被占用,或者修改配置中的端口。
问题3: 测试超时
增加TIMEOUT环境变量值:
TIMEOUT=180000 npm run test:e2e
问题4: 网络问题
检查网络连接,确保可以访问目标环境URL。