QA Wolf 解释他们怎么把企业级的 Windows 桌面自动化做起来。与 Web 测试不同,Windows 应用测试没有廉价容器可用:Windows 容器不含图形桌面,每个测试都要一台完整虚拟机,冷启动要 2 到 3 分钟(浏览器容器只需几秒);测试工具依赖的 UI Automation 只在活动的已登录会话里工作,机器只开着还不够;虚拟机还会记住一切——安装的文件、注册表、用户配置、保存的登录态与残留进程都会带进下一次运行;每个应用又自带安装器、管理员提示、授权依赖与首启对话框。他们的答案是不再把 Windows 机器当服务器,而是当成手机:一台设备由某个测试独占、用一次就丢掉。架构上把 Windows 机器建模成 Kubernetes 里的设备,测试通过自定义设备插件申请独占实例。
🔑 核心要点
Windows 应用测试没有 Web 那样的无头容器可用,每个测试都要完整虚拟机。
冷启动 2–3 分钟,对比浏览器容器的秒级。
UI Automation 只在活动的已登录桌面会话里工作,机器开机还不够。
虚拟机会记住文件、注册表、用户配置与残留进程,污染下一次运行。
每个应用还带安装器、管理员提示、授权依赖与首启对话框等自有世界。
解法是把 Windows 机器当手机:独占、用一次即丢,并在 Kubernetes 里建模成设备。
💡 金句
Our answer was to stop treating Windows machines as servers and treat them like phones: a device that one test claims, uses once, and throws away.