Files
ArmorandClaude Opus 4.7 e1d601a774 chore: add reference docs, scripts, tests, demo, prototypes
- Reference docs: known issues, user journey, location redesign, mission merge plan
- Scripts: fill_location_state, merge_missions, migrate_location, migrate_state
- Tests: e2e test suite, asset entries unit tests
- Demo: location board, hifi prototypes, test screenshots
- Data backup: asset log entries and state nodes
- Update .gitignore

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 15:29:47 +08:00

7.5 KiB

KSP管理后台 前端迁移测试方案

测试范围

基于 Phase 1-6 完成的所有前端迁移内容,共 12 个测试模块。

测试环境

  • Flask 开发服务器 (port 9000)
  • Playwright headless Chromium
  • 数据库: PostgreSQL (真实数据)

模块 1: 基础框架

# 测试项 操作 预期结果
1.1 侧边栏导航 打开首页,检查侧边栏所有链接 侧边栏显示:任务总览、任务运营(4子项)、数据中心(4子项)、燃料换算、API健康检查
1.2 侧边栏展开 首页加载时检查 任务运营和数据中心分组默认展开
1.3 当前页高亮 导航到每个页面 对应侧边栏项显示 act 样式
1.4 深色模式 打开首页,检查默认主题 默认深色 (data-theme="dark")
1.5 浅色模式切换 点击 ◐ 按钮 切换到浅色,localStorage 记忆
1.6 深色模式切换 再次点击 ◐ 按钮 切换回深色
1.7 模拟时间显示 检查顶栏 显示当前 sim_time
1.8 时间 +1d 点击 +1d 按钮 页面刷新,时间增加1天
1.9 时间 -1d 点击 -1d 按钮 页面刷新,时间减少1天
1.10 时间 +7d 点击 +7d 按钮 页面刷新,时间增加7天
1.11 时间 Today 点击 Today 按钮 时间重置为 2060-03-12
1.12 时间 Modal 点击时间显示 弹出时间编辑 modal
1.13 时间 Modal Apply 修改时间后点击 Apply 页面刷新,时间更新
1.14 时间 Modal Cancel 点击 Cancel modal 关闭,时间不变
1.15 ESC 关闭 Modal 打开 modal 后按 ESC modal 关闭

模块 2: 任务总览

# 测试项 操作 预期结果
2.1 页面标题 检查首页 显示 "任务总览"
2.2 指标卡片 检查 metrics 显示 Tracked Assets / Active Missions / Upcoming
2.3 指标真实数据 检查指标数字 数字来自数据库,非硬编码
2.4 状态看板分组 检查 status board 显示 In Transit / Exploration / Maintenance / Docked 分组
2.5 状态看板数据 检查各分组资产数 数字与数据库一致
2.6 资产链接 点击状态看板中的资产名 跳转到资产详情页
2.7 模拟时间影响 修改 sim_time 后检查 指标和状态看板按新时间重新计算

模块 3: 资产列表

# 测试项 操作 预期结果
3.1 页面渲染 导航到 /assets 显示资产表格
3.2 搜索 输入搜索词 过滤匹配的资产
3.3 类型筛选 选择资产类型下拉 只显示该类型的资产
3.4 排序 选择排序选项 按选择排序
3.5 资产详情链接 点击资产名 跳转到 /assets//detail
3.6 New Asset 按钮 点击 + New Asset 跳转到创建页面
3.7 分页 点击分页链接 正确翻页

模块 4: 资产详情

# 测试项 操作 预期结果
4.1 页面渲染 进入资产详情 显示名称、类型、状态
4.2 信息卡片 检查4张卡片 显示 Type / Location / Mission / Entries
4.3 Docking Target 检查对接目标区域 显示 "Not docked" 或已对接资产
4.4 Docked Vehicles 检对接载具列表 显示已对接载具或 "No vehicles"
4.5 日志列表 检查日志表格 显示日期、类型、标题、状态、位置、操作
4.6 日志搜索 输入搜索词 过滤日志
4.7 日志类型筛选 选择 State/Event 按类型过滤
4.8 Edit Asset 按钮 点击 Edit Asset 跳转编辑页
4.9 ← Back 按钮 点击返回 回到资产列表

模块 5: 对接功能

# 测试项 操作 预期结果
5.1 + Dock 按钮 点击 + Dock 弹出对接 modal
5.2 对接 modal 内容 检查 modal 显示资产下拉 + Custom name 选项 + 备注 + Cancel/Dock
5.3 选择已有资产对接 选择一个资产 + Dock 刷新页面,显示对接记录
5.4 Custom name 对接 选 Custom name + 输入名称 + Dock 刷新页面,显示对接记录
5.5 对接后日志 检查日志列表 新增一条 dock 相关的日志条目
5.6 Cancel 对接 点击 Cancel modal 关闭,无变化

模块 6: 日志 CRUD

# 测试项 操作 预期结果
6.1 + State Interval 点击按钮 弹出 modal,显示 Start/End/State/Location/Summary/Nodes
6.2 + Event Point 点击按钮 弹出 modal,隐藏 End/State/Nodes
6.3 新增 State Interval 填写表单 + Save 刷新页面,新日志出现在列表中
6.4 新增 Event Point 填写表单 + Save 刷新页面,新事件出现在列表中
6.5 State Node 添加 点击 "+ Add Node" 新增一个节点行
6.6 State Node 删除 点击 ✕ 节点行删除
6.7 State Node 数据 填写多个节点 + Save 日志保存后,每个节点正确存储
6.8 编辑日志 点击 Edit 弹出 modal,预填现有数据
6.9 编辑后保存 修改标题 + Save 刷新页面,标题已更新
6.10 删除日志 点击 Del confirm 后日志删除,entries 计数减少

模块 7: 地点板

# 测试项 操作 预期结果
7.1 页面渲染 导航到地点板 显示 Canvas 星图 + 右侧信息面板
7.2 星图内容 检查 Canvas 显示太阳系行星(太阳、地球、火星等)
7.3 右侧面板 检查 info panel 显示 Scope / Assets in Scope / Ongoing Missions
7.4 资产位置 检查 Assets in Scope 资产按 location 分组到对应天体
7.5 点击行星 点击木星 进入行星系视图,显示卫星
7.6 点击卫星 在木星系点击 Io 进入 Io 单体视图
7.7 返回 点击 ← Back 返回上一层
7.8 拖拽平移 在星图上拖拽 星图跟随移动
7.9 滚轮缩放 在星图上滚动 星图缩放

模块 8: 时间线

# 测试项 操作 预期结果
8.1 页面渲染 导航到时间线 显示时间线 + 筛选栏
8.2 Scale 切换 选择 Year/Month/Day 时间线刻度变化
8.3 搜索筛选 输入资产名 只显示匹配资产
8.4 Type 筛选 选择类型 只显示该类型资产
8.5 Location 筛选 选择位置 只显示该位置资产
8.6 State 筛选 选择状态 只显示该状态资产

模块 9: 数据中心

# 测试项 操作 预期结果
9.1 引擎列表 /engines 显示引擎表格,有搜索/筛选
9.2 通信列表 /communications 显示通信部件表格
9.3 燃料箱列表 /tanks 显示燃料箱表格
9.4 载具列表 /vehicles 显示载具表格
9.5 搜索 在引擎列表输入搜索 过滤结果
9.6 筛选 选择燃料类型 过滤结果

模块 10: 燃料换算

# 测试项 操作 预期结果
10.1 页面渲染 /fuel-converter 显示换算器
10.2 换算 L→t 输入值 + L→t + Convert 显示所有燃料的结果
10.3 换算 t→L 切换模式 + Convert 显示所有燃料的结果

测试执行方式

  • 使用 Playwright headless Chromium
  • 每个模块独立测试函数
  • 每个测试项输出 PASS/FAIL
  • 失败时记录具体原因
  • 最终输出汇总报告