E2E-TEST-SCENARIOS.md 12 KB

E2E 测试场景矩阵 — 角色 × 功能 × 场景

版本: v2.0(新增健康营养师角色) 更新: 2026-07-04 覆盖: 6角色 × 19功能域 × 90+场景


一、角色权限总览

角色 说明 vendor_type 核心能力
parent 家长 家庭管理、任务、积分、测评、购买
child 孩子 任务执行、打卡、心愿、游戏
teacher 成长规划师 planner 绑定家庭、下发任务、录入测评
nutritionist 健康营养师 nutritionist ⬅️ 新增 营养评估、食谱管理、饮食指导
vendor 供应商 product_supplier / activity_provider / consultant 商品/活动管理
admin 管理员 全系统管理

二、健康营养师(Nutritionist)场景矩阵 ⬅️ 新增

定位:专注于"身"维度的专业服务商,为家庭提供精准营养指导

场景ID 用户故事 API端点 优先级 测试文件
US-NUTR-01 查看家庭营养档案 POST /api/nutrition/profile/get P0 nutritionist-flow.spec.js
US-NUTR-02 保存营养偏好 POST /api/nutrition/profile/save P0 nutritionist-flow.spec.js
US-NUTR-03 添加饮食记录 POST /api/diet/record/create P0 nutritionist-flow.spec.js
US-NUTR-04 查看饮食记录列表 POST /api/diet/record/list P0 nutritionist-flow.spec.js
US-NUTR-05 分析营养摄入 POST /api/nutrition/analyze P1 nutritionist-flow.spec.js
US-NUTR-06 创建食谱 POST /api/admin/recipes/create P0 nutritionist-flow.spec.js
US-NUTR-07 管理食谱库 POST /api/admin/recipes/* P0 nutritionist-flow.spec.js
US-NUTR-08 查看应季食材 POST /api/admin/seasonal/list P1 nutritionist-flow.spec.js
US-NUTR-09 获取饮食推荐 POST /api/meal/recommend P0 nutritionist-flow.spec.js
US-NUTR-10 绑定家庭 POST /api/bind/accept P0 nutritionist-flow.spec.js

三、按角色的场景矩阵

3.1 家长(Parent)场景

家庭管理(UC-01)

场景ID 用户故事 优先级 测试文件 状态
US-FAM-01 添加家庭成员 P0 family-member-management.spec.js ✅ 完成
US-FAM-02 查看家庭成员列表 P0 family-member-management.spec.js ✅ 完成
US-FAM-03 切换孩子视图 P0 family-member-management.spec.js ✅ 完成
US-FAM-04 移除家庭成员 P0 family-member-management.spec.js ✅ 完成
US-FAM-05 获取关系类型字典 P0 family-member-management.spec.js ✅ 完成
US-FAM-06 生成/使用家庭邀请码 P1 📋 需补充
US-FAM-07 编辑家庭成员关系 P1 📋 需补充

任务管理(UC-02)

场景ID 用户故事 优先级 测试文件 状态
US-TASK-01 创建任务 P0 daily-checkin-streak.spec.js ⚠️ 部分
US-TASK-04 审核任务 P0 📋 需补充
US-TASK-05 查看待审核列表 P0 📋 需补充
US-TASK-06 查看任务历史 P1 📋 需补充
US-TASK-08 家长任务 P1 📋 需补充

心愿管理(UC-03)

场景ID 用户故事 优先级 测试文件 状态
US-WISH-01 孩子创建心愿 P0 wish-exchange-flow.spec.js ✅ 完成
US-WISH-02 家长定价心愿 P0 wish-exchange-flow.spec.js ✅ 完成
US-WISH-03 家长拒绝心愿 P1 📋 需补充
US-WISH-04 孩子申请兑换 P0 wish-exchange-flow.spec.js ✅ 完成
US-WISH-05 家长审批兑换 P0 wish-exchange-flow.spec.js ✅ 完成

积分系统(UC-04)

场景ID 用户故事 优先级 测试文件 状态
US-POINTS-01 查看积分余额 P0 points-system.spec.js ✅ 新增
US-POINTS-02 查看积分流水 P0 points-system.spec.js ✅ 新增
US-POINTS-03 手动调整积分 P1 points-system.spec.js ✅ 新增
US-POINTS-04 按分类查看流水 P2 points-system.spec.js ✅ 新增

测评流程(UC-07)

场景ID 用户故事 优先级 测试文件 状态
US-ASSESS-01 创建测评订单 P0 assessment-order-flow.spec.js ✅ 完成
US-ASSESS-02 支付测评订单 P0 assessment-order-flow.spec.js ✅ 完成
US-ASSESS-03 查看订单详情 P1 📋 需补充
US-ASSESS-04 取消测评订单 P1 📋 需补充
US-ASSESS-05 申请退款 P1 📋 需补充
US-ASSESS-08 查看测评结果 P0 assessment-order-flow.spec.js ✅ 完成

成长档案(UC-08)

场景ID 用户故事 优先级 测试文件 状态
US-GROWTH-01 创建成长档案 P0 growth-record-sync.spec.js ✅ 完成
US-GROWTH-02 上传PDF解析 P0 📋 需补充
US-GROWTH-04 查看档案列表 P0 growth-record-sync.spec.js ✅ 完成
US-GROWTH-05 补充记录 P1 📋 需补充

文章管理(UC-09)

场景ID 用户故事 优先级 测试文件 状态
US-ARTICLE-07 浏览文章列表 P0 article-management.spec.js ✅ 新增
US-ARTICLE-08 查看文章详情 P0 article-management.spec.js ✅ 新增
US-ARTICLE-09 每日成长贴士 P1 📋 需补充

活动报名(UC-10)

场景ID 用户故事 优先级 测试文件 状态
US-ACT-03 浏览活动 P0 activity-registration.spec.js ✅ 新增
US-ACT-04 报名活动 P0 activity-registration.spec.js ✅ 新增
US-ACT-05 取消报名 P1 activity-registration.spec.js ✅ 新增
US-ACT-07 查看我的报名 P1 📋 需补充

3.2 孩子(Child)场景

场景ID 用户故事 优先级 测试文件 状态
US-TASK-02 查看今日任务 P0 mini-games-full.spec.js ✅ 新增
US-TASK-03 完成任务 P0 📋 需补充
US-WISH-01 创建心愿 P0 wish-exchange-flow.spec.js ✅ 完成
US-CHECKIN-01 健康打卡 P0 daily-checkin-streak.spec.js ✅ 完成
US-ENERGY-01 查看能量总览 P0 energy-system.spec.js ⚠️ 部分
US-GAME-01 舒尔特方格 P1 mini-games-full.spec.js ✅ 新增
US-GAME-02 猜数字 P1 mini-games-full.spec.js ✅ 新增
US-GAME-03 数独 P1 mini-games-full.spec.js ✅ 新增

3.3 健康营养师(Nutritionist)场景 ⬅️ 新增

场景ID 用户故事 优先级 测试文件
US-NUTR-01~10 营养档案/饮食记录/食谱/推荐/绑定 P0~P1 nutritionist-flow.spec.js

3.4 管理员(Admin)场景

场景ID 用户故事 优先级 测试文件 状态
US-ARTICLE-01 创建文章 P0 article-management.spec.js ✅ 新增
US-ARTICLE-02 发布文章 P0 article-management.spec.js ✅ 新增
US-ACT-01 创建活动 P0 activity-registration.spec.js ✅ 新增
US-ACT-02 发布活动 P0 activity-registration.spec.js ✅ 新增
US-ADMIN-01 创建用户 P0 admin-panel.spec.js ✅ 新增
US-ADMIN-02 用户列表 P0 admin-panel.spec.js ✅ 新增
US-ADMIN-05 数据看板 P1 admin-panel.spec.js ✅ 新增
US-ENERGYRULE-01~04 能量规则CRUD P1 energy-rules-config.spec.js ✅ 新增
US-GUIDE-02 审核规划师 P0 admin-panel.spec.js ⚠️ 部分
US-VENDOR-03 审核供应商 P0 vendor-onboarding.spec.js ✅ 新增

四、E2E 测试文件清单

文件 覆盖场景数 状态
assessment-order-flow.spec.js 7 ✅ 完成
family-member-management.spec.js 9 ✅ 完成
wish-exchange-flow.spec.js 9 ⚠️ 需补充孩子侧
planner-bind-invite.spec.js 7 ⚠️ 需补充管理员审核
growth-record-sync.spec.js 6 ✅ 完成
energy-system.spec.js 6 ⚠️ 需补充维度配置
product-purchase.spec.js 9 ⚠️ 需补充供应商入驻
daily-checkin-streak.spec.js 8 ⚠️ 需补充补打卡
mini-games-playwright.spec.js 部分 ⚠️ 需补充完整流程
nutritionist-flow.spec.js 10 🆕 新增
article-management.spec.js 5 🆕 新增
activity-registration.spec.js 4 🆕 新增
points-system.spec.js 4 🆕 新增
admin-panel.spec.js 5 🆕 新增
vendor-onboarding.spec.js 3 🆕 新增
energy-rules-config.spec.js 4 🆕 新增
membership-system.spec.js 3 🆕 新增
contact-management.spec.js 4 🆕 新增
mini-games-full.spec.js 5 🆕 新增

总计: 20个测试文件,100+场景


五、缺失场景清单(按优先级)

高优先级(P0)

  • 管理员审核文章发布
  • 管理员审核报名
  • 能量规则配置完整
  • 健康营养师10场景

中优先级(P1)

  • 供应商入驻完整流程
  • 会员购买/试用
  • 小游戏完整流程
  • 补打卡场景
  • 批量任务操作

低优先级(P2)

  • 联系人管理
  • 数据导出
  • 邀请码使用

六、测试账号

角色 手机号 userId 说明
管理员 13800138000 7 Web管理端全权限
家长 13701366188 8 有家庭/孩子
供应商 13800138001 81069 vendor_status=pending
营养师 待创建 待分配 vendor_type=nutritionist

七、测试环境

  • 后端: http://localhost:9082
  • 前端: http://localhost:8080
  • 环境: 开发环境(development)

八、运行指南

# 运行所有E2E测试
npx playwright test tests/e2e/

# 运行特定测试文件
npx playwright test tests/e2e/nutritionist-flow.spec.js

# 运行带UI模式
npx playwright test tests/e2e/ --headed

# 运行特定标签
npx playwright test tests/e2e/ --grep "场景1"

# 生成HTML报告
npx playwright test tests/e2e/ --reporter=html

九、CSS选择器参考

通用选择器

.submit-btn      /* 提交按钮 */
.confirm-btn      /* 确认按钮 */
.success-tip      /* 成功提示 */
.error-tip        /* 错误提示 */
.toast-success     /* Toast成功 */

页面容器

.assessment-apply-page  /* 测评申请页 */
.nutrition-profile-page /* 营养偏好页 */
.meal-record-page       /* 饮食记录页 */
.article-list           /* 文章列表 */
.activity-list          /* 活动列表 */

表单元素

input[name="xxx"]      /* 输入框 */
select[name="xxx"]      /* 选择器 */
textarea[name="xxx"]    /* 文本域 */
.child-picker           /* 孩子选择器 */

十、Milestone标记规范

// 每个关键里程碑用以下注释标记:
// ========== Then:Milestone-1 ========
// ========== Then:Milestone-2 ========
// ...

十一、更新日志

v2.0 (2026-07-04)

  • ✅ 新增健康营养师(Nutritionist)角色
  • ✅ 新增10个营养师场景(US-NUTR-01~10)
  • ✅ 新增9个E2E测试文件
  • ✅ 新增场景矩阵文档
  • ⚠️ 待补充现有测试文件的缺失场景