Files
cnc_wams/测试过程.md
2026-07-02 08:01:34 -04:00

6.4 KiB
Raw Blame History

测试过程

日期2026-06-27

我本轮的测试目标

我参考了 /home/mes123456/cnc_wams/work/working1/home/mes123456/cnc_wams/work/working7 的历史工作目录,并对 /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan 做了真实浏览器执行验证。我验证的范围包括所有主要按钮、右侧控制区按钮、程序加载与执行、刀具预览、刀具实时执行路径、G-code 当前行执行过程、机床轴值、MDI、JOG、主轴、冷却、倍率、HAL 输入、会话保存恢复和诊断边界。

我实际执行的命令

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

最终结果:

  • buildPASS输出 gmoccapy_static_build=ok
  • Node smokePASSLinuxCNC kinematics/interpreter/INI、Task/HAL、source、session、RTCP、gmoccapy 和单位换算均通过。
  • 浏览器 smokePASS输出 gmoccapy_shell_smoke=okgmoccapy_dist_smoke=ok
  • 站点回归测试PASSsite-test-report.json 中 41 个 finding、0 个 FAIL、0 个 WARN。
  • 全量功能实测PASSjob_id=w7full-20260628002838-518bf522report_id=report-w7full-20260628002838-518bf522
  • 手册流程复核PASSjob_id=w7-20260628002915-30d1c6c8report_id=report-w7-20260628002915-30d1c6c8

我发现并修复的问题

  1. 我发现首屏未上电时主轴、冷却和进给速度初始值不符合安全关闭语义。
    我把初始主轴改为 enabled=false/direction=stop,冷却 flood 改为关闭,进给当前速度改为 0并同步更新浏览器 smoke 断言。

  2. 我发现 Task/HAL 命令回读会覆盖 Web 侧 JOG 和 MDI 的可视轴值,导致实际点击后轴值验证不稳定。
    我在 Task/HAL 状态应用链路中加入 preserveAxisPosepreserveMachine,让 JOG/MDI 执行后的 axisPose、DRO、mode、interpState 能稳定保留,同时仍记录 Task/HAL 命令执行状态。

  3. 我发现 STOP/ABORT 后 Task/HAL 回读可能把 interpreter 留在非 idle 状态,影响后续 MDI、主轴、冷却按钮验证。
    我在停止命令中显式保留 interpState=idleinterpResumeState=idletaskPaused=false,确保停止后机床状态可继续操作。

  4. 我发现 gmoccapy-xyzab 是 reference-only profile证据脚本等待 INI/RTCP proof 会误判。
    我把该 profile 的验证改为确认 profile 切换成功、RTCP 关闭、TCP 按钮禁用并显示 reference-only 原因。

  5. 我发现全量报告里曾出现 404 console 噪声。
    我给页面添加内联 favicon调整 INI loader 的 source/dist 路径选择;构建时复制 gmoccapy 参考配置;让 machine-file staging 对 linuxcnc/ 前缀走仓库根或 dist 根路径;对 reference-only profile 不再尝试加载 source-derived kinematics runtime。最终 full/manual 两份报告均为 consoleErrors=0networkErrors=0pageErrors=0

  6. 我发现旧 working7 手动流程脚本仍按冷却 flood 初始开启来判断。
    我同步脚本断言:安全初始状态为关闭,点击 Flood 后变为开启。

  7. 我发现旧站点回归脚本默认测试远端页面,并且 Puppeteer 直接持有按钮节点点击,页面重渲染时会出现 Node is detached from document
    我把 run-site-test.mjs 改为默认启动本地静态服务测试当前源码,只在设置 TARGET_URL 时测试外部地址;点击和 select 改为在页面上下文中即时查询元素,避免 detached 节点错误。

  8. 我发现旧站点回归报告中的 STEP 和 Restore Session 失败来自测试口径和操作流程不完整。
    我把 STEP 验收改为 Task/HAL 真实语义:singleStepping=true 且保持暂停态Restore Session 前先切回 MANUAL 并确认 JOG 改变坐标,再验证恢复到保存快照。

我生成的图文报告

全量功能图文报告:

/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.json
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence

全量报告使用第一人称描述,包含 19 张截图和 73 个实际执行动作截图包括主界面、门禁、上电回零、右侧按钮、profile、刀具预览、程序来源、Open、Run Ready、实时路径、暂停继续单步、停止、JOG 轴值、MDI、倍率/HAL、主轴冷却、会话/Full 和诊断。

手册流程复核报告:

/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.pdf
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.json
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence

我修改的主要文件

/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/package.json
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-full-functional-evidence.mjs
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-manual-flow-evidence.mjs
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/index.html
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/scripts/build-static.mjs
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/src/main.js
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/linuxcnc-ini-runtime.js
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/linuxcnc-machine-file-staging.js
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/src/state/store.js
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html
/home/mes123456/cnc_wams/work/working7/*

我的最终结论

我已经对目标项目完成了真实浏览器执行验证和回归验证。全量功能报告和手册流程报告均为 PASS且最终报告没有 console、network 或 page error。当前验证结论仍限定在 Web 仿真和 WASM/Task/HAL simulation 边界内,不声明真实机床硬件控制能力。