迁移到 Midscene Test
旧版 YAML 与原生 Midscene Test 共用底层执行内核和报告页面,但用户入口相互独立。midscene 负责旧版 tasks/flow 文件、YAML 批配置和旧 CLI 参数;midscene-test 负责原生 cases/steps 文件、TypeScript 或 JavaScript 项目配置、生命周期和 Node。
本文所说的“旧版 YAML”,特指 @midscene/cli 的 YAML 自动化协议,而不是所有 YAML 文件。它通常具有以下特征:工作流顶层是 tasks,用 tasks[].flow 编排动作;平台、Agent 和输出配置直接写在工作流 YAML 中;批量运行使用包含 files、setup、concurrent、retry 等字段的 YAML 配置;执行入口是 midscene。顶层使用 cases/steps 和生命周期钩子、由 midscene-test 执行的文件属于原生 Test,不属于旧版 YAML。
旧链路只做兼容维护和必要的问题修复,不再新增语法、能力、配置项或 CLI 参数。新项目、新增用例和后续能力建设应采用原生 Midscene Test;现有旧项目可以继续运行,并按业务节奏逐步迁移 。
本文把迁移分为两条路径:
- 原地升级:旧用例、批配置、目录结构和
midscene命令均保持不变,先获得共享执行内核和新报告,不改变输入契约。 - 原生迁移:按完整文件把旧字段改写为 Test 的文档、Case 和 Step,用项目配置替换 YAML 批配置,再把这些文件切换到
midscene-test。
旧版字段的完整参考仍保留在 YAML 脚本运行器和 YAML 格式的工作流中,供现有项目维护和迁移时查阅。
路径一:原地升级旧链路
如果项目已经安装 @midscene/cli,升级后继续使用原命令。midscene 会保留旧输入语义,通过共享内核执行,并生成新的报告页面:
原来的平台配置、agent、环境变量插值、task continuation、整文件重试、输出文件和 summary 仍按旧语义处理;报告切换为新 Test 页面,旧 HTML 文件无需转换,重新运行即可生成。旧 agent.generateReport: false 仍生效。
旧 --files、--setup、--concurrent、--retry、--continue-on-error、--summary、--headed、--keep-window

