引言:当“选择器地狱”撞上 AI 视觉革命
凌晨两点,你的 CI/CD 流水线又红了。点开日志一看——TimeoutError: waiting for selector ".login-form > div:nth-child(3) > button.submit-btn"。前端团队上周重构了组件库,把button换成了a标签,把class名从 BEM 风格改成了 CSS Modules 的哈希值,你的 600 个 Playwright 用例直接挂了 40 多个。更让人崩溃的是,这已经是本月第三次“UI 一变,脚本全翻”的事故。
这大概是每一位 UI 自动化测试工程师的共同记忆。传统 UI 自动化的核心痛点是:“先知道元素在哪”这件事,在很多真实页面里并不稳定——selector 随着组件重构、文案调整、层级变化而频繁失效;Canvas 自绘组件、复杂弹窗、跨域 iframe 这些场景,更是让 CSS 选择器和 XPath 彻底失去用武之地。
有没有一种方式,能让我们摆脱对 DOM 结构的强依赖,用人类最自然的方式来描述操作意图?
字节跳动 Web Infra 团队给出了答案——Midscene.js。
根据字节跳动 Web Infra 团队发布的官方数据,Midscene.js 自 2024 年开源以来,已在 GitHub 上积累超过12.5k St