# 02 项目程序开发详细步骤 生成日期:2026-06-27 本文件是本轮最终版开发/测试步骤索引;原有详细测试方法见 [02-程序测试开发完善详细步骤.md](02-程序测试开发完善详细步骤.md)。 ## 我本轮新增的自动化入口 我在 `qa/web-rtcp-5axis-site-test/package.json` 中增加: ```json { "evidence:working7": "node capture-working7-manual-flow-evidence.mjs", "evidence:working7:full": "node capture-working7-full-functional-evidence.mjs" } ``` ## 我新增的全量证据脚本 文件: ```text /home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-full-functional-evidence.mjs ``` 脚本执行流程: 1. 启动本地静态 HTTP server。 2. 使用 headless Chromium 打开真实 app 页面。 3. 等待 canvas、store、kinematics、interpreter、Task/HAL 和 machine-file staging 就绪。 4. 收集所有 `data-action` 控件库存。 5. 实际点击并验证门禁、上电、回零、右侧控制区、profile、预览、Stage、source、Open、Run Ready、Run、Pause、Resume、Step、Stop、JOG、MDI、倍率、HAL、主轴、冷却、会话、Full、Audit、gmoccapy HAL/native page。 6. 每个阶段截图,统计 canvas 非空像素。 7. 输出 JSON、Markdown 图文报告和 PDF 图文报告。 ## 我修复程序的步骤 1. 先运行全量 evidence,记录失败动作和状态快照。 2. 修正安全初始状态:主轴关闭、冷却关闭、当前速度为 0。 3. 修正 Task/HAL 状态回写:JOG/MDI 通过 `preserveAxisPose` 和 `preserveMachine` 保留 Web 侧执行结果。 4. 修正 STOP/ABORT:停止后保留 `interpState=idle`。 5. 修正 reference-only profile 测试口径:`gmoccapy-xyzab` 不等待 RTCP proof,只验证 TCP 禁用和 reference-only 原因。 6. 修正资源路径噪声:favicon、INI source/dist 路径、gmoccapy reference 资源复制、`linuxcnc/` staging URL、reference-only kinematics 跳过。 7. 更新旧 working7 手动流程脚本的冷却 flood 断言。 8. 重新运行 build、Node smoke、browser smoke、full evidence、manual evidence,直到全部 PASS 且 console/network/page error 为 0。 ## 最终复跑命令 ```bash npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app run build npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke npm --prefix /home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7:full npm --prefix /home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7 ``` 最终验收: - full evidence:73 个 action PASS,19 张截图,console/network/page error 均为 0。 - manual evidence:10 个检查项 PASS,9 张截图,console/network/page error 均为 0。