|
@@ -0,0 +1,96 @@
|
|
|
|
|
+# E2E 测试状态报告
|
|
|
|
|
+
|
|
|
|
|
+**日期**: 2026-07-05
|
|
|
|
|
+**分支**: cfclub
|
|
|
|
|
+
|
|
|
|
|
+## E2E 测试环境确认
|
|
|
|
|
+
|
|
|
|
|
+### Playwright 配置状态
|
|
|
|
|
+| 项目 | 状态 | 说明 |
|
|
|
|
|
+|------|------|------|
|
|
|
|
|
+| globalSetup/globalTeardown | ✅ 已修复 | 移除了非法的 async function 配置 |
|
|
|
|
|
+| baseURL | ✅ 已修复 | 改为 `https://cfc.iwintrue.com` |
|
|
|
|
|
+| Chromium | ✅ 已使用系统 Chrome | `C:\Program Files\Google\Chrome\Application\chrome.exe` |
|
|
|
|
|
+| testDir | ✅ 正确 | `./e2e` |
|
|
|
|
|
+
|
|
|
|
|
+### 已验证的事实
|
|
|
|
|
+1. **E2E 测试文件全部存在** — 20 个 `.spec.js` 文件在 `tests/e2e/` 目录
|
|
|
|
|
+2. **测试正确加载** — energy-rules-config.spec.js 的 4 个测试场景全部被 Playwright 发现并执行
|
|
|
|
|
+3. **浏览器正常运行** — 使用系统 Chrome,浏览器成功启动
|
|
|
|
|
+4. **测试隔离运行** — 每个场景独立运行,无交叉污染
|
|
|
|
|
+
|
|
|
|
|
+### 测试执行结果(energy-rules-config.spec.js)
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+Running 4 tests using 1 worker
|
|
|
|
|
+
|
|
|
|
|
+ × 1 [场景1] 查看能量规则列表 — ERR_CONNECTION_TIMED_OUT
|
|
|
|
|
+ × 2 [场景2] 创建能量规则 — ERR_CONNECTION_TIMED_OUT
|
|
|
|
|
+ × 3 [场景3] 启用/禁用规则 — ERR_CONNECTION_TIMED_OUT
|
|
|
|
|
+ × 4 [场景4] 编辑/删除规则 — ERR_CONNECTION_TIMED_OUT
|
|
|
|
|
+
|
|
|
|
|
+4 tests: ALL TIMEOUT
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+**原因**: `cfc.iwintrue.com` 是 **API 后端服务器**(Java Spring Boot),不是 **uni-app H5 前端**。
|
|
|
|
|
+
|
|
|
|
|
+E2E 测试访问 `https://cfc.iwintrue.com/#/pages/admin/energy-rules`(uni-app H5 哈希路由格式),但该 URL 返回 502(API 网关),说明:
|
|
|
|
|
+- uni-app H5 前端**未部署**在此域名
|
|
|
|
|
+- 或**不可从浏览器访问**(需要其他域名/端口)
|
|
|
|
|
+
|
|
|
|
|
+## 根因分析
|
|
|
|
|
+
|
|
|
|
|
+### 这些 E2E 测试的设计意图
|
|
|
|
|
+E2E-TEST-SCENARIOS.md 中的测试使用 `/#/pages/...` 哈希路由,这表明它们是为 **uni-app H5 构建**编写的,需要:
|
|
|
|
|
+1. `cfc-frontend` 的 H5 构建部署在某处
|
|
|
|
|
+2. 浏览器能访问该 H5 前端 URL
|
|
|
|
|
+
|
|
|
|
|
+### 实际环境
|
|
|
|
|
+| 组件 | URL | 可用性 |
|
|
|
|
|
+|------|-----|--------|
|
|
|
|
|
+| API 后端 | `cfc.iwintrue.com:80` | ✅ API 测试通过 |
|
|
|
|
|
+| cfc-web 管理端 | `localhost:8082` | ⚠️ 需要本地启动 |
|
|
|
|
|
+| uni-app H5 前端 | 未知 | ❌ 未部署/不可访问 |
|
|
|
|
|
+
|
|
|
|
|
+## 建议
|
|
|
|
|
+
|
|
|
|
|
+要让 E2E 测试正常运行,需要:
|
|
|
|
|
+
|
|
|
|
|
+1. **方案 A(推荐)**: 确认 uni-app H5 前端的实际部署地址,更新 `playwright.config.js` 的 `baseURL`
|
|
|
|
|
+2. **方案 B**: 启动本地 cfc-web dev server(`cd cfc-web && npm run serve`),修改测试以适配 cfc-web 的非哈希路由
|
|
|
|
|
+3. **方案 C**: 启动 `cfc-frontend` 的 H5 dev server(`cd cfc-frontend && npm run dev:h5`)
|
|
|
|
|
+
|
|
|
|
|
+## 完整的 E2E 测试文件清单
|
|
|
|
|
+
|
|
|
|
|
+| 文件 | 场景数 | 状态 |
|
|
|
|
|
+|------|--------|------|
|
|
|
|
|
+| energy-rules-config.spec.js | 4 | 🔄 需前端 |
|
|
|
|
|
+| article-management.spec.js | 5 | 🔄 需前端 |
|
|
|
|
|
+| activity-registration.spec.js | 4 | 🔄 需前端 |
|
|
|
|
|
+| admin-panel.spec.js | 5 | 🔄 需前端 |
|
|
|
|
|
+| vendor-onboarding.spec.js | 3 | 🔄 需前端 |
|
|
|
|
|
+| nutrition-flow.spec.js | 10 | 🔄 需前端 |
|
|
|
|
|
+| assessment-order-flow.spec.js | 7 | 🔄 需前端 |
|
|
|
|
|
+| family-member-management.spec.js | 9 | 🔄 需前端 |
|
|
|
|
|
+| wish-exchange-flow.spec.js | 9 | 🔄 需前端 |
|
|
|
|
|
+| growth-record-sync.spec.js | 6 | 🔄 需前端 |
|
|
|
|
|
+| energy-system.spec.js | 6 | 🔄 需前端 |
|
|
|
|
|
+| points-system.spec.js | 4 | 🔄 需前端 |
|
|
|
|
|
+| mini-games-full.spec.js | 5 | 🔄 需前端 |
|
|
|
|
|
+| membership-system.spec.js | 3 | 🔄 需前端 |
|
|
|
|
|
+| contact-management.spec.js | 4 | 🔄 需前端 |
|
|
|
|
|
+| planner-bind-invite.spec.js | 7 | 🔄 需前端 |
|
|
|
|
|
+| daily-checkin-streak.spec.js | 8 | 🔄 需前端 |
|
|
|
|
|
+| mini-games-playwright.spec.js | 部分 | 🔄 需前端 |
|
|
|
|
|
+
|
|
|
|
|
+**总计**: 17 个测试文件,100+ 场景
|
|
|
|
|
+
|
|
|
|
|
+## API 测试 vs E2E 测试对比
|
|
|
|
|
+
|
|
|
|
|
+| 维度 | API 测试 (v9_test.js) | E2E 测试 (Playwright) |
|
|
|
|
|
+|------|----------------------|---------------------|
|
|
|
|
|
+| 覆盖范围 | 后端 API 接口 | 完整用户流程 |
|
|
|
|
|
+| 测试对象 | HTTP 请求/响应 | 浏览器交互 |
|
|
|
|
|
+| 前端依赖 | ❌ 不需要 | ✅ 需要前端运行 |
|
|
|
|
|
+| 认证处理 | 手动设置 token | 浏览器自动 cookie |
|
|
|
|
|
+| 状态 | ✅ 15 PASS | 🔄 需要前端环境 |
|