最近团队在推进“测试智能体”落地我基于 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, frameworkplaywright) 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 --healauto --traceon当定位失败时控制台会输出类似[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 --reporthtml输出通过/失败标记定位失败根因分析代码修改建议例如建议用getByRole替换固定选择器六、三Agent协作工作流一条命令搞定将三个 Agent 串联到 CI 脚本run_ai_test.sh#!/bin/bash # 1. 生成用例 python generate_agent.py --feature 登录与购物车 # 2. 执行自愈 npx playwright test --healauto --retries1 # 3. 智能分析 node analyze_agent.js --reportallure --push-to-platform # 4. 若失败自动回写修复建议到代码仓库可选 python commit_healing_fixes.py执行./run_ai_test.sh七、效果与思考在爱测智能化测试平台上运行此方案针对 200 个高频回归场景用例编写时间从 15 分钟/条降至 3 分钟自愈引擎使得失败用例人工介入率下降 72%智能断言误报率低于 5%建议不要一次性搞三个 Agent先落地“执行自愈”这个价值最直接的 Agent再逐步接入生成和分析。所有命令和配置已脱敏整理到 [gist]示例链接可直接取用。本文部分内容参考了霍格沃兹测试开发学社整理的相关技术资料主要涉及软件测试、自动化测试、测试开发及 AI 测试等内容侧重测试实践、工具应用与工程经验整理。