AI测试 干了 16 年、测试做了 9 年,聊聊我对 AI 做 UI 自动化的分层设想(个人思路,求拍砖)

木野造点啥 · November 04, 2026 · 254 hits

工作 16 年,其中测试做了 9 年。最近一直在琢磨怎么把 AI 用到 UI 自动化里。

起因有两个。一是这阵子 AI 测试很火,我自然会想:它能不能真的帮上我手里的活?二是实在忙不过来,最多的时候 4 个项目并行跑,手工点测根本跟不上。AI 到底能不能提效,这个问号就落到了我头上,于是我开始自己动手试。

网上看到的演示大多是「一句话生成用例,自动跑完」,看着很爽。但我自己试下来,最头疼的不是 AI 不会点,而是它点完了,你不知道这个结果能不能信。所以这篇不讲具体实现,只说说我现在脑子里的分层和几个取舍,想听听大家的意见。

我现在大致按下面这张表来分:

层 做什么 AI 参与吗
用例输入 自然语言或录制 可参与
理解与定位 怎么找到元素、怎么点 主要在这
执行 Playwright 之类真正跑起来 一般不改
程序断言 点完应该是什么样 不碰
证据 截图 / 视频 / 日志 不碰内容,只按规则留证
修复建议 失败后给改法 可提建议,合入前人工审

整条线里,我守得最死的是这一条:AI 可以改「怎么点」(定位、路径、等待),不能改「点完应该是什么样」(断言和预期值)。 断言失败后如果让 AI 去改断言,测试就从「检查产品」变成了「迁就产品」,报告一片绿,问题还在。所以修复建议里只要动到断言或预期值,我直接打回,交给人看。

执行通过也不等于业务正确。步骤全跑完、没报错,只能说明脚本没崩。页面对不对,要靠程序断言,而不是让 AI 看一眼截图说「看起来没问题」。断言顺序上,我习惯先 toBeVisible 再 toHaveText——文字在 DOM 里,不代表用户真能看到。我真遇到过:有段说明藏在很小的问号图标后面,要点一下或悬停才出来;人测会顺手去点,Agent 可能根本不点,结果它「看不到」。要是只查文字存不存在,这种情况就漏了。

证据层也有个小规矩:关键截图放在断言通过之后再截。步骤一结束就截,那一刻页面可能还在加载,图和结论对不上。另外 passed 和 passed_on_retry 要分开记——重试才过的和一次就过的混在一起,通过率好看,不稳定的用例全被藏起来了。

还有一点:整条流水线不能依赖模型一直在线。模型挂了,就退回已经固化的脚本照常自动执行,失败的交给人修。AI 是加速,不是前提。

我还没想清楚两件事:自然语言用例要写多细,AI 才能稳定定位——写粗了它会猜,写细了又和直接写脚本差不多;修复建议要人工审核,怎么审才不会变成新瓶颈。这两块有一些尝试,整理清楚了再单独写。

最后想问问做 UI 自动化的朋友:你们让 AI 改过测试脚本吗?有没有遇到它「顺手」改了断言或预期值的情况?你们是怎么拦的?

No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up。