AI测试工程笔记 04:Codex + Playwright 自动修复 UI 自动化脚本

一、背景

在传统 UI 自动化测试中,脚本维护一直是一个比较大的问题。

很多时候都会遇到类似情况:

  • 按钮文案调整

  • placeholder 修改

  • 页面结构轻微变化

这些改动虽然不影响业务逻辑,但容易导致自动化脚本失败。

脚本失败,通常需要测试工程师:

查看失败日志
→ 定位问题
→ 修改脚本
→ 重新执行

整个过程完全依赖人工。

随着 AI 编程工具的发展,

AI 是否可以参与自动化脚本的失败分析和修复?

验证 AI + Playwright 是否能够完成自动化脚本的自动修复。


二、环境

环境如下:

  • Codex Agent
  • Playwright
  • Node.js
  • Win11 本地环境

测试页面为本地项目:

Punch Agent

http://localhost:5173

测试目标流程:

打开页面
→ 输入工作内容
→ 点击提交
→ 页面展示提交内容


三、流程

验证链路:

复制代码
AI生成测试脚本
→ 执行Playwright自动化测试
→ 人为制造脚本错误
→ Playwright执行失败
→ AI读取失败日志
→ AI修改测试代码
→ 重新执行验证

也就是说,并不是测试:

AI会不会写自动化脚本

而是验证:

AI能不能参与自动化脚本维护


四、案例

1:按钮定位错误

首先在测试脚本中故意制造按钮定位错误:

await page.getByRole('button', { name: '提交123' }).click();

而页面真实按钮为:

提交

执行测试后,Playwright 报错:

waiting for getByRole('button', { name: '提交123' })

此时 AI 根据错误日志分析:

  • 按钮文案定位错误

  • 页面不存在该元素

AI 将代码修复为:

await page.getByRole('button', { name: /^提交$/ }).click();

重新执行测试:

1 passed

测试恢复通过。


2:placeholder 定位错误

第二个模拟输入框定位错误。

故意将 placeholder 改为:

.getByPlaceholder('记录今天的工作121')

执行后 Playwright 报错:

waiting for getByPlaceholder('记录今天的工作121')

AI 识别出 placeholder 与页面真实值不一致,并修复输入框定位。

再次执行:

1 passed


3:断言文本错误

第三个模拟断言错误。

故意将断言写为:

await expect(page.locator('body')).toContainText('AI自动化测试123');

但页面实际内容为:

AI自动化测试

Playwright 执行失败。

AI 读取失败日志后判断:

  • 页面行为正常

  • 断言文本错误

修复代码:

await expect(page.locator('body')).toContainText('AI自动化测试');

再次执行:

1 passed

测试恢复通过。


五、结果

通过三个验证:

AI 在 UI 自动化测试中可以完成以下工作:

  • 读取失败日志
  • 分析失败原因
  • 修改测试代码
  • 重新执行测试

在简单场景下,AI 已经具备 初步自动修复测试脚本的能力


六、思考

这次并不是:

AI生成自动化脚本

而是验证了另一件事情:

AI参与自动化脚本维护

在很多项目中:

写脚本

只占自动化成本的一小部分。

更大的成本其实来自:

脚本维护

如果 AI 能够辅助完成:

失败分析
→ 自动修复
→ 自动回归

将有可能显著降低自动化测试的维护成本。


七、下一步探索

本次只验证了简单场景。

后续计划继续探索更复杂的失败类型,例如:

  • 页面加载等待问题
  • 弹窗干扰
  • 元素结构变化

观察 AI 在复杂自动化失败场景中的修复能力。


八、小结

通过本次实验,可以看到 AI 在自动化测试中的一个潜在方向:

  • AI生成测试
  • AI执行测试
  • AI修复测试
  • AI回归验证

虽然目前仍然处于探索阶段,但已经可以看到 AI参与自动化测试维护的可能性

九、实践价值与局限性

1. 实践价值

本次验证了一个值得关注的方向:

AI 可以参与自动化测试脚本的维护过程。

UI 自动化的难点并不是脚本编写,而是脚本维护。

例如:

  • 页面文案调整
  • 元素结构变化
  • placeholder 修改

这些变化往往不会影响业务逻辑,但会导致自动化脚本失效,需要测试工程师手动排查并修复。

通过本次实验可以看到:

AI读取失败日志
→ 分析失败原因
→ 修改测试脚本
→ 重新执行验证

在简单场景下,AI已经可以参与完成这一闭环。

如果未来将这一能力进一步工程化,有可能在以下方面产生价值:

  • 降低自动化脚本维护成本
  • 减少重复性排查工作
  • 提高回归效率

2. 必要性

在自动化测试实践中,经常会出现一种情况:

测试逻辑是正确的
但脚本定位失效

例如:

按钮文案变化
placeholder 微调
断言文本调整

这些问题本质上并不属于业务缺陷,但却会导致自动化失败。

如果每一次都需要人工排查并修改脚本,会消耗大量时间。

因此,引入 AI 参与自动化脚本维护,具有一定的意义。


3. 当前局限性

本次实验仍然属于 小规模验证,存在明显局限:

1️⃣ 失败场景较简单

目前只验证了:

按钮定位错误

placeholder 定位错误

断言文本错误

2️⃣ 未涉及复杂页面结构

例如:

动态 DOM

iframe

复杂组件库

3️⃣ 未验证复杂失败原因

例如:

等待策略错误

网络请求失败

数据依赖问题

这些场景可能对 AI 的分析能力提出更高要求。


4. 下一步探索方向

后续计划继续探索更复杂的自动化失败场景,例如:

  • 页面加载等待问题
  • 弹窗干扰
  • 元素结构变化

观察 AI 在复杂自动化失败场景中的修复能力。

如果能够逐步扩展失败场景,并形成稳定的修复策略,未来有可能构建出:

AI辅助自动化测试维护体系

整个项目已经上传github:https://github.com/test202005/ai-testing-lab

相关推荐
weiyvyy2 小时前
无人机嵌入式开发实战-飞控系统原理与架构
人工智能·嵌入式硬件·机器人·无人机
何玺2 小时前
从AI商业化“成绩单”看百度在智能体时代的先发优势
人工智能·百度
每日IO2 小时前
AI“重构”生活 —— Mind+ V2 模型训练挑战赛
人工智能·python·mind+·开源硬件·模型训练·二哈识图·行空板
AEIC学术交流中心2 小时前
【快速EI检索 | SPIE出版】2026 年智能信号与图像处理国际学术会议(ISIP 2026)
人工智能
MOON404☾2 小时前
R语言EDA学习笔记
笔记·学习·数据分析·r语言·eda
深圳市九鼎创展科技2 小时前
国产高性能 AIoT 核心板!九鼎创展 Z3576 核心板全面解析(基于瑞芯微 RK3576)
大数据·linux·人工智能·嵌入式硬件·ubuntu
云边云科技_云网融合2 小时前
SD-WAN 专线:为亚马逊云、微软云访问提速的核心逻辑
网络·人工智能·安全·microsoft·架构
GEO行业研究员2 小时前
基于 Milvus 标量过滤与爱搜光年 Schema 的医疗召回优化
人工智能·ai搜索优化·geo优化·医疗geo优化·ai搜索排名·爱搜光年geo
Teacher.chenchong2 小时前
AI支持下的临床医学日常工作、论文撰写、数据分析与可视化、机器学习建模中的实践应用
人工智能