Midscene.js:用 AI 构建下一代 E2E 测试工具

Feday · 2024

这次分享从传统 UI 自动化的维护问题出发,介绍 Midscene 如何将多模态模型接入测试工作流,以及 AI 工具需要哪些工程能力才能进入实际使用。

从 Selector 与视觉检查的难点出发

传统测试需要理解框架的事件语法、选择器和 DOM 结构。页面变化容易带来脚本维护成本,而白屏、布局异常等视觉问题又不容易只用 DOM 状态表达。

我结合 Puppeteer、Cypress、Playwright 和 Appium 等工具的使用场景,讨论多模态模型在文本提取、页面元素识别和视觉理解上的机会与边界。

分享中的能力演示

  • 自然语言操作:通过描述步骤操作页面,表达测试意图。
  • 页面信息提取:提取页面内容,供后续逻辑和断言使用。
  • 页面状态断言:判断当前界面是否符合自然语言描述的预期。
  • 任务报告:回看操作过程、模型判断和信息提取结果,定位失败步骤。
  • Chrome 插件:在浏览器中直接体验操作、提取和断言,再进入测试工程。

架构与工程设计

框架通过 UI 抽象层连接 Web 测试框架、Chrome 工具和其他界面场景;核心层组织 Agent、缓存与报告生成。规划和执行需要与页面反馈配合,模型能力也需要用评测验证。

落地经验

分享最后强调了三件事:理解模型在特定任务中的边界;从具体业务问题判断可行性;建立评价体系,让更换模型和调整实现后的效果可以比较。

这场演讲发生在 2024 年。演讲中的模型比较与能力描述属于当时的实践,不作为当前模型性能结论。

依据 Feday 分享介绍、v2 PPT 大纲与逐字稿整理。

相关项目:Midscene.js · 开源仓库