Files
railwaysystem/docs/reports/archive/20260915/browser-acceptance-report.md
T

6.2 KiB
Raw Blame History

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. 验收测试目标与用例矩阵实测结果

本验收套件模拟真实教务员、任课教师及学员在现代浏览器中的实际交互操作,覆盖以下核心验收阶段,全部通过验证:

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)