告别 Playwright 脚本,迎接 AI 驱动的 E2E 测试新范式 - 知识铺
E2E 测试对于广大 Web 开发者来讲并不陌生,由于它能贯穿整个应用的使用流程,因而能最大程度地模拟用户的真实操作,从而发现更多潜在的问题。但在实践中,它往往是最被忽视的测试环节,原因也很简单:脆弱且难以维护。
之所以脆弱,是因为它往往跟 UI 是紧耦合,而此部分却是最容易变动的。由此,也造就了它难以维护的特性。Playwright 虽然在一定程度上缓解了这一问题,但由于它依然依靠脚本(其本身的柔韧性天生就不足)来描述测试流程,因而也难以从根本上解决这个问题。
因此,典型的 E2E 测试大多采用以下方式之一:
-
机动性手动测试,大多是临到重要发布时才会进行
-
仅选取若干关键流程的自动化测试
-
以上两者结合:关键流程自动化,其他机动性手动测试
阔是,现在已经是被业内人士称为“agent 元年”的 2025 了,我们是否能够转变一下思路呢?前文提到:将 LLM 视为“人”而非工具,那么我们是否可以考虑直接让 LLM 或 Agent 来执行 E2E 测试呢?如同我们招了一个好使唤的测试小弟。
请注意:这里是让 LLM/Agent 来执行测试,而非生成测试脚本,这是根本区别。为何:
-
生成测试脚本依旧没有摆脱脚本的桎梏,它依旧需要大量的人工参与:检查脚本的正确性、维护脚本、更新脚本等。本质上只是相当于在原有基础上开了 2 倍速。
-
而直接让 LLM/Agent 来执行测试,则完全摆脱了僵化的脚本,转而使用自然语言来描述测试流程。这样一来,测试流程的编写和维护就变得非常简单,甚至可以直接由产品经理或测试人员来完成,而不需要开发人员的参与。
如此一来,自然语言成了新的测试脚本,你甚至可以直接将其纳入你的版本库,待成熟之后,集成进入 CI/CD 流程中。
从技术上来讲,目前已经完全没有问题:agent + playwright mcp server 便可以轻松实现这一目标。
整个流程大致如下:
-
编写生成测试计划的 prompt。
-
review 生成的测试计划,它本身也相当于一个 prompt,未来要传给 agent 执行。
-
运行测试计划得到测试报告。
整个过程就是传说中的左脚踩右脚神功:“纵云梯”,用 prompt 生成 prompt,然后再用 prompt 来驱动 agent。
实践演示
以下是一个生成测试计划的 prompt:
<span leaf="">ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line</span>
生成的测试计划示例(注意:需要 review !!!只有在 前面的 prompt 非常成熟稳定之后,此步骤才能减弱):
<span leaf="">ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line</span>
生成的测试报告示例:
完整演示视频
访问:本号关联的视频号【老胡闲话】(https://weixin.qq.com/sph/AgHyrdaIN)或地址:https://youtu.be/JszMXxP3xgE?si=-NJ9KLyOQw7RrHPR
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai/post/202510/%E5%91%8A%E5%88%AB-Playwright-%E8%84%9A%E6%9C%AC%E8%BF%8E%E6%8E%A5-AI-%E9%A9%B1%E5%8A%A8%E7%9A%84-E2E-%E6%B5%8B%E8%AF%95%E6%96%B0%E8%8C%83%E5%BC%8F/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com