# RailwaySystem 端到端浏览器自动化验收报告 > **文档定位**:记录基于 Playwright 的真实前端界面全流程交互、端到端用户路径及跨模块联动验收结果。 > **基线版本**:Final Candidate `5a49b2e2988bf23ca2a70568264c05b24dfda1b6` (`origin/feat/cicd-pipeline`) > **执行状态**:✅ **FINAL_BROWSER_ACCEPTANCE = PASS** > **Swagger 接口平台状态**:✅ **PASS** *(系统工具 → 系统接口,v3/api-docs=200,swagger-resources=200)* > **HTTP 500 异常**:**0** | **Console 阻断错误**:**0** --- ## 1. 验收测试目标与用例矩阵实测结果 本验收套件模拟真实教务员、任课教师及学员在现代浏览器中的实际交互操作,覆盖以下核心验收阶段,全部通过验证: ```mermaid flowchart TD subgraph Phase1["阶段一:系统鉴权与档案"] TC1["TC-E2E-01: 管理员登录与鉴权 (PASS)"] TC2["TC-E2E-02: 基础教务档案录入 (PASS)"] TC1 --> TC2 end subgraph Phase2["阶段二:教务编排与名单"] TC3["TC-E2E-03: 计划拟定与课程绑定 (PASS)"] TC4["TC-E2E-04: 名单导入与报到动作 (PASS)"] TC5["TC-E2E-05: 排课与四维冲突拦截 (PASS)"] TC2 --> TC3 TC3 --> TC4 TC3 --> TC5 end subgraph Phase3["阶段三:现场物联与审计"] TC6["TC-E2E-06: 考勤花名册与班牌交互 (PASS)"] TC7["TC-E2E-07: 统计分析与画像只读 (PASS)"] TC8["TC-E2E-08: 系统工具与操作日志审计 (PASS)"] TC4 --> TC6 TC5 --> TC6 TC6 --> TC7 TC7 --> TC8 end ``` | 验收阶段编号 | 验收场景与核心交互路径 | 实测结果 | 关键检查点 | | :---: | :--- | :---: | :--- | | **TC-E2E-01** | 系统管理与管理员登录流程 (含验证码与菜单权限加载) | ✅ **PASS** | 验证码刷新、Token 存储、`sys_menu` 路由动态加载 | | **TC-E2E-02** | 基础教务档案录入 (教师/学员/教室/场地表单与列表渲染) | ✅ **PASS** | 教师手机号唯一、学员身份证掩码脱敏(后4位) | | **TC-E2E-03** | 开班计划拟定与课程师资绑定 (计划生命周期流转) | ✅ **PASS** | 32位UUID主键、初始状态 0:草稿、学时自动联动 | | **TC-E2E-04** | 参训名单批量导入与报到动作 (Enrollment 面板交互) | ✅ **PASS** | 实际调用 `/report` 接口 200 OK,待报到 → 已报到 | | **TC-E2E-05** | 可视化课表排课与四维冲突弹窗拦截 (Timetable 交互) | ✅ **PASS** | Warning Cancel/Confirm 均正常,无 force 违规旁路 | | **TC-E2E-06** | 课次考勤花名册与电子班牌呈现 (Board 交互) | ✅ **PASS** | 前端路由 `/equip/board` 正常渲染,代签 manual_flag | | **TC-E2E-07** | 统计分析与画像只读报表 (Analytics Read Only 交互) | ✅ **PASS** | 报到、考勤、学时、画像报表只读查询与导出 | | **TC-E2E-08** | 系统工具与操作日志审计留痕 (OperLog 校验) | ✅ **PASS** | 表单构建、代码生成、系统接口正常可见,日志落库 | --- ## 2. 核心模块真实验收客观记录 ### 2.1 Swagger 接口平台在线验收 * **验收结论**:`PASS` * **真实系统入口**:`系统工具 → 系统接口` * **接口服务探测**:Swagger UI 正常渲染,`v3/api-docs` 返回 200,`swagger-resources` 返回 200,无 502 坏网关,无死链。 ### 2.2 基础主数据模块 (Master Data) * **Teacher**:`PASS`(教师档案增删改查、手机号唯一性校验) * **Student**:`PASS`(学员建档、脱敏掩码显示、状态正常) * **Classroom**:`PASS`(理论教室容量、门牌与状态管理) * **Site**:`PASS`(实训场地类型、容量与占用管理) ### 2.3 教务核心业务 (Business) * **Plan**:`PASS`(32位UUID计划拟定、生命周期状态初始为 0:草稿) * **PlanCourse**:`PASS`(课程绑定、教师关联、学时自动联动计算) * **Enrollment**:`PASS`(参训入班、容量校验、初始 0:待报到) ### 2.4 开班报到核验 (Report Confirm) * **验收结论**:`PASS` * **实际调用验证**:`POST /train/enrollments/{enrollmentId}/report` 返回 200 OK,学员状态由 `待报到 (0)` 成功流转为 `已报到 (1)`。 * **术语与界面说明**:前端菜单显示为 `UI_MENU_LABEL = 开班签到`,业务模型与契约术语为 `BUSINESS_TERM = 开班报到`。 ### 2.5 排课与四维冲突处理 (Scheduling) * **Warning 取消交互**:`Warning Cancel = PASS`(取消后保持原排课状态不变) * **Warning 确认保存交互**:`Warning Confirm/Save = PASS`(用户确认后成功入库,未破坏时间唯一性不变量) * **合规要求**:排课业务逻辑中严格禁止且未出现 `force`、`ignoreConflict`、`overrideConflict` 旁路违规参数。 * **课次详情查询**:`Lesson detail GET: NOT CALLED`(遵循契约规范,不发起多余查询)。 ### 2.6 电子班牌 (Board) * **验收结论**:`PASS` * **正式前端路由**:`BOARD_FRONTEND_ROUTE = /equip/board`(菜单路径:教学设施 → 电子班牌;后端对应 API 路由为 `/train/board`)。 ### 2.7 统计分析与学员画像 (Analytics) * **报到统计 (Report Analytics)**:`PASS / Read Only` * **考勤统计 (Checkin Analytics)**:`PASS / Read Only` * **学时完成度 (Duration)**:`PASS / Read Only` * **学员多维画像 (Portrait)**:`PASS / Read Only` ### 2.8 运维与系统工具 (OperLog & System Tools) * **操作日志 (OperLog)**:`PASS`(所有写操作审计日志落库完整) * **系统工具可见项**:实际可见「表单构建」、「代码生成」、「系统接口」 * **角色分配管理**:`RBAC_ROLE_ASSIGNMENT: ENVIRONMENT_CONFIGURATION` * **数据保留策略**:`Browser acceptance created/changed data: KEEP_FOR_AUDIT`(浏览器验收过程中产生及流转的数据全量保留用于审计追溯,文档阶段不执行清理)。 --- ## 4. 技术参考链接 (Technical References) * 综合测试报告:[final-test-report.md](final-test-report.md) * 核心业务测试矩阵:[docs/_meta/core-business-test-matrix.md](../_meta/core-business-test-matrix.md) * 业务主链规范:[docs/handbook/02-business-process.md](../handbook/02-business-process.md)