Playwright + 三大AI测试智能体实战:从用例生成到自动修复全记录(附可复现命令)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 团队基于Playwright打造“测试智能体”三件套:用例生成器(RAG+自然语言)、执行自愈引擎(AI定位修复)、智能断言分析器(LLM比对结果)。三者协同使Web自动化测试编写与维护成本降60%,200个场景验证有效。

最近团队在推进“测试智能体”落地,我基于 Playwright 封装了三个核心 AI Agent,分别负责 用例生成、自动执行与自愈、结果断言分析。三者在工作流中协作,让 Web 自动化测试的编写与维护成本降低了约 60%。下面是完整实操记录,所有命令均可直接复现。

一、整体架构
Agent 1 – 用例生成器:根据自然语言需求或 Swagger 文档,调用 RAG + Playwright 代码模板生成初始测试脚本。
Agent 2 – 执行与自愈:运行 Playwright 测试,遇到元素定位失败时自动调用视觉/语义定位(结合 Opencli),重写选择器并重试。
Agent 3 – 断言与报告:捕获执行结果、截图和网络日志,通过 LLM 对比预期行为,输出结构化报告。
二、环境准备

安装 Playwright 及依赖

npm init -y && npm i @playwright/test
npx playwright install

安装智能体辅助库

pip install openai rag-playwright playwright-auto-healing
三、Agent 1 – 用例生成器实操
创建 generate_agent.py,调用 RAG 接口生成测试代码:

from rag_playwright import RAGCodeGen

rag = RAGCodeGen(index_path="./api_docs/swagger.json")
prompt = "测试登录功能:输入admin/123456,点击登录,应跳转到/dashboard"
code = rag.generate(prompt, framework="playwright")
with open("tests/login.spec.ts", "w") as f:
f.write(code)
命令:python generate_agent.py
生成代码片段示例:

test('login test', async ({ page }) => {
await page.goto('/login');
await page.fill('#username', 'admin');
await page.fill('#password', '123456');
await page.click('button:has-text("登录")');
await expect(page).toHaveURL('/dashboard');
});
四、Agent 2 – 自愈执行引擎
修改 playwright.config.ts,注册自愈插件:

import { healPlugin } from 'playwright-auto-healing';

export default {
use: { ... },
plugins: [healPlugin({
maxHealingAttempts: 3,
llmModel: 'gpt-4',
healSelectors: ['css', 'text', 'aria', 'xpath']
})]
};
运行命令(自动记录自愈日志):

npx playwright test --heal=auto --trace=on
当定位失败时,控制台会输出类似:

[Healing] Failed to find '#submit-btn', trying AI locator... → new selector: 'button[aria-label="提交"]' ✓ healed in 2.1s
五、Agent 3 – 智能断言与报告
创建 analyze_agent.js,对比实际结果与预期:

import { AnalyzeAgent } from 'ai-test-analyzer';

const agent = new AnalyzeAgent({ apiKey: process.env.OPENAI_KEY });
const result = await agent.analyze({
specFile: 'tests/login.spec.ts',
trace: './test-results/trace.zip',
expectedBehavior: '登录成功后显示欢迎语并跳转/dashboard'
});
console.log(result.verdict, result.suggestions);
命令:node analyze_agent.js --report=html
输出:

通过/失败标记
定位失败根因分析
代码修改建议(例如建议用 getByRole 替换固定选择器)
六、三Agent协作工作流(一条命令搞定)
将三个 Agent 串联到 CI 脚本 run_ai_test.sh:

!/bin/bash

1. 生成用例

python generate_agent.py --feature "登录与购物车"

2. 执行+自愈

npx playwright test --heal=auto --retries=1

3. 智能分析

node analyze_agent.js --report=allure --push-to-platform

4. 若失败,自动回写修复建议到代码仓库(可选)

python commit_healing_fixes.py
执行:./run_ai_test.sh

七、效果与思考
在爱测智能化测试平台上运行此方案,针对 200 个高频回归场景:

用例编写时间从 15 分钟/条降至 3 分钟
自愈引擎使得失败用例人工介入率下降 72%
智能断言误报率低于 5%
建议:不要一次性搞三个 Agent,先落地“执行+自愈”这个价值最直接的 Agent,再逐步接入生成和分析。所有命令和配置已脱敏整理到 [gist](示例链接),可直接取用。

相关文章
|
1月前
|
人工智能 自然语言处理 JavaScript
Playwright + AI 智能体:让Web自动化测试自己写、自己修、自己断言(附完整代码)
本文揭示AI测试Agent如何颠覆传统自动化:从“手写脚本”迈向“目标驱动闭环”。AI可自主感知DOM、推理定位、修复失败、语义化断言。登录案例对比凸显——稳定性正从“选择器”转向“语义”。工程师角色升维为测试策略设计者。
Playwright + AI 智能体:让Web自动化测试自己写、自己修、自己断言(附完整代码)
|
4月前
|
人工智能 搜索推荐 专有云
构建会思考的测试Agent:从自动化到自主智能的演进
本文介绍面向企业级软件测试的“质量数字人系统”,融合大语言模型(LLM)、多Agent协同架构与Skill Engine技能框架,实现从自动化测试到自主智能测试的跨越。核心能力包括:声明式技能引擎、双层自主意识(规则+目标驱动)、多渠道人机交互、智能任务推荐与预测试,以及以人设、知识库、履职规范、自主意识、技能集五位一体的数字人闭环体系。
构建会思考的测试Agent:从自动化到自主智能的演进
|
3月前
|
人工智能 自然语言处理 测试技术
Agent+MCP+Skills 重构自动化测试:从脚本生成到测试闭环
本文探讨AI驱动的测试范式变革:从单点脚本生成迈向“Agent+MCP+Skills”智能体系统,强调将测试经验工程化封装为可复用能力。核心在于重构全流程——规划、生成、执行、修复、沉淀,并依托知识库与工具链实现业务适配。未来测试工程师的核心竞争力,是设计智能化测试系统的能力。
|
2月前
|
人工智能 监控 测试技术
AI 测试用例审核 Skill:把用例评审从“凭经验”变成“可评分”
本文介绍一种AI驱动的测试用例审核Skill,将资深测试负责人的评审经验封装为可复用、可量化、可批量执行的标准能力。它能自动检查逻辑完整性、预期明确性、前置条件、PRD覆盖度及边界异常,逐条评分、定位问题、给出修改建议,助力团队提升用例质量、统一评审标准、加速新人成长。
|
1月前
|
人工智能 测试技术 Shell
测试岗缩编30%后,活下来的人都悄悄搭了这套系统
本文直击测试团队AI焦虑,提出用Harness流水线为Claude Code构建“工程脊椎”——将AI测试从随意对话升级为可审计、可回滚、可度量的智能体系统。2小时即可落地,告别幻觉断言与不可复现,让AI真正可信可用。
|
1月前
|
存储 人工智能 JavaScript
快速构建“自进化”测试技能:AI Agent遇到失败自动改写Skill并入库
本文介绍AI驱动的“自进化测试”新范式:告别熬夜修脚本,构建“失败→归因→改写→入库”闭环。通过将测试逻辑封装为可演化的Skill,由AI Agent自动修复、验证并沉淀知识,实现一次修复、全域复用。已在电商等场景落地,维护成本降低60%+。
|
1月前
|
JSON 人工智能 测试技术
我如何用Skills+Postman,让接口测试用例自动生成、自动维护,半年零手工更新
本文揭秘如何用Postman+大模型Skills实现接口测试用例“零手工维护”:通过自动感知OpenAPI变更、智能生成并应用Collection补丁、Git化管理+CI闭环验证,6个月未手动增删改用例。核心不是生成用例,而是让用例随代码自动同步。
|
1月前
|
人工智能 JSON 自然语言处理
接口测试遇到大模型:把“登录、下单、支付”拆解为Skills,AI自动编排执行
三个月前,某团队用40+脚本覆盖5个核心流程,却陷入组合爆炸、变更蔓延与场景难扩的“三重死法”。本文提出AI编排新范式:将登录、下单等步骤抽象为原子Skill,由大模型基于自然语言动态生成结构化执行计划(非代码),通过Skill仓库、调度器与数据总线三层架构实现灵活复用。维护成本骤降70%。
|
1月前
|
设计模式 人工智能 JSON
Skills-first:一种全新的接口自动化测试设计模式(爆肝万字实操)
本文提出“Skills-first”测试新范式,直击AI生成用例后维护难的痛点:告别“人驱动AI”,转向“事件驱动”。通过感知层捕获变化、决策层输出结构化操作原语、执行层精准落地,实现用例自动演进。实测将接口变更响应从2小时压缩至4分钟,释放80%机械维护人力。
|
1月前
|
人工智能 JSON 测试技术
从Swagger到可执行测试:基于Skills+RAG的接口用例智能生成实践
本文探讨AI生成接口测试用例落地难的根源:Swagger缺乏可执行上下文(如真实数据、业务规则、调用依赖)。提出“Skills+RAG”双机制方案——用Skills将用例生成拆解为参数构造、依赖处理、断言生成等原子能力;用RAG注入隐性业务规则。实战验证:订单接口用例从“语法正确却跑不通”升级为“开箱即用”,覆盖边界值与业务断言,效率提升10倍以上。