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)
中优先级(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测试文件
- ✅ 新增场景矩阵文档
- ⚠️ 待补充现有测试文件的缺失场景