Files
novalon-website/e2e/ENVIRONMENT.md
T
张翔 925f79c45a feat: 配置多环境支持
- 创建环境配置文件environments.ts
- 支持development/staging/production三个环境
- 更新playwright.config.ts使用环境配置
- 创建.env.example环境变量示例
- 创建ENVIRONMENT.md环境配置指南
- 支持CI/CD集成配置
2026-02-28 15:12:04 +08:00

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。

相关文档