从能跑到可交付:企业自动化项目必须补上的 Runtime 验收清单
## 开发环境能跑,不等于项目已经可交付 企业做浏览器自动化、内容发布、数据采集或内部流程工具时,最常见的误判是:开发机上跑通了一次,就认为上线只差部署。真正进入生产环境后,问题往往来自运行时边界:浏览器 provider 没有被正确传递、不同操作系统的依赖包不一致、旧执行路径仍被意外调用,或者发布包没有经过完整验收。 这些问题不一定会在第一步报错,却会在任务量上来、设备切换或环境升级后集中暴露。对于需要长期运行的企业自动化项目,Runtime 不是开发完成后的附属配置,而是交付物的一部分。 ## 一、先验收 provider:配置是否真的到达执行端 自动化任务通常经过 CLI、Host、Runtime 和浏览器执行层。配置如果只停留在上层,执行端仍可能使用默认 provider,导致本地和生产表现不一致。 近期工程变更中,Runtime Host 增加了对浏览器 provider 配置的显式转发,并补充了对应自检。对企业项目而言,验收时至少要确认三件事: 1. 任务声明的 provider 能被 Host 接收; 2. 配置能继续传递到真正执行浏览器动作的运行时; 3. provider 缺失或不匹配时,系统能给出边界清晰的诊断,而不是静默降级。 这类检查比“页面能不能打开”更接近生产可靠性。 ## 二、清理旧路径:不要让交付包存在两套执行逻辑 项目演进过程中,旧执行器、临时内存路径和新 Runtime 往往会并存一段时间。短期看,这能降低迁移压力;长期看,却会让问题定位变得困难:同一个任务在不同入口走了不同逻辑,测试通过的路径不一定是生产实际使用的路径。 近期 Runtime 工程移除了 legacy execution 与 MemoryExecutor 路径,并围绕新的生产 provider、路由和发布验证收敛执行链路。这里值得借鉴的不是某个具体组件名称,而是验收原则:交付前要明确唯一的生产执行路径,确认旧入口不会被误调用,并为关键路径保留可重复的自检。 ## 三、核对多架构依赖:锁定版本只是起点 当自动化工具需要同时覆盖 Linux、macOS 和 Windows,依赖包不能只在开发机上安装成功。不同架构的 host wheel、系统权限和浏览器调用方式,都可能影响最终行为。 近期工程对多个平台的 host wheel descriptor 和 lock 文件进行了同步锁定。企业在验收时可以建立一张最小矩阵: - 操作系统与 CPU 架构是否明确; - Runtime 依赖是否有锁定版本; - 安装后是否能完成最小任务; - 升级或重装后是否仍能复现同一执行路径; - 失败时是否能区分依赖问题、权限问题和业务脚本问题。 这套矩阵不承诺所有环境天然一致,但能让差异被发现、被记录、被处理。 ## 四、把系统身份与浏览器契约纳入检查 跨平台自动化还会遇到一些不显眼的系统细节。例如 Windows Runtime 需要稳定识别运行时所有者,CLI 也需要把 browser execution contract 继续传递给 Host。近期相关变更分别加入了 owner SID 缓存和执行契约传播。 这类能力不应被包装成“自动解决所有稳定性问题”。更准确的做法是把它们纳入验收项:系统身份是否在预期生命周期内稳定、Host 是否拿到了完整契约、异常信息是否经过边界控制、重启后是否仍能回到可验证状态。 ## 五、企业自动化 Runtime 验收清单 在正式交付前,可以用下面五个问题做一次快速复盘: 1. 配置是否从业务入口完整到达执行端? 2. 生产是否只有一条明确的执行路径? 3. 各目标平台的依赖和架构是否有锁定记录? 4. 系统身份、权限和浏览器契约是否经过重启验证? 5. 发布包是否有可重复的 release verification,而不是只看一次成功日志? 如果其中任何一项只能靠口头说明,项目就还没有形成真正可交付的运行环境。 ## 结语:把“能跑”变成可复用的交付能力 企业自动化的竞争力,不只在于能不能写出一段脚本,更在于能不能把脚本放进可管理、可诊断、可复测的运行环境。provider 显式传递、执行路径收敛、多架构依赖锁定、系统身份管理和发布验收,都是从原型走向长期使用时需要补齐的基础能力。 如果你的自动化项目已经能完成演示,但在跨设备、跨系统或持续运行上仍缺少验收标准,可以先从这份清单开始梳理,再根据业务场景定制 Runtime、后台管理和监控能力。