# 测试e2efe

## 规则（Rules）

# 前端E2E测试规范

## 1. 多浏览器覆盖

必须覆盖至少两种浏览器引擎（Chromium、Firefox、WebKit）。

✅ 配置projects同时测试Chromium和Firefox
❌ 只测试Chrome就判定通过

## 2. 智能等待

禁止硬编码等待时间，必须使用智能等待。

✅ `page.waitForSelector('.result')`、`page.waitForURL('**/dashboard')`
❌ `page.waitForTimeout(3000)`

## 3. 核心流程覆盖

必须覆盖用户核心操作流程：登录、核心业务操作、页面导航、表单提交。

✅ 测试完整的"登录→创建订单→查看订单→退出"流程
❌ 只测试页面打开，不测试交互操作

## 方法（Methods）

# 前端E2E测试方法

## 步骤

### 1. 分析页面结构
搜索前端页面文件，提取页面路由。

### 2. 设计测试场景
基于页面路由设计核心操作流程：登录 → 业务操作 → 页面导航 → 表单提交。

### 3. 编写测试用例
编写Playwright测试脚本。

### 4. 执行测试
执行测试用例。

### 5. 浏览器兼容性测试
在Chromium、Firefox、WebKit上分别执行核心测试场景。

### 6. 生成报告
生成测试报告。

## 技巧（Tips）

# 前端E2E测试技巧

## 1. 使用Page Object模式

为每个页面创建Page Object类，封装页面元素和操作方法，提高复用性。

## 2. 常见问题

| 问题 | 原因 | 解决 |
|------|------|------|
| 元素定位失败 | 选择器错误或元素未加载 | 使用 `waitForSelector` 等待 |
| 测试不稳定 | 网络波动或异步渲染 | 使用智能等待替代固定超时 |
| 跨域问题 | 前端服务与测试环境不同源 | 配置Playwright的baseURL |
