告别手写测试用例!AI多智能体系统自动生成Selenium测试套件(LangGraph+MCP架构实战)
手动测试创建拖慢了团队速度。我构建了AI Recorder,这是一个多智能体系统,可以将用户需求转换为生产就绪的Selenium测试套件。它使用LangGraph进行编排,使用模型上下文协议(MCP)进行工具集成,并设置了人工参与的质量门。结果:更快的测试生成、一致的结构和企业友好的部署模型。
📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
📖 如何将自然语言需求转换为可执行的Selenium测试:基于协作式智能体架构
手动测试创建拖慢了团队速度。我构建了AI Recorder,这是一个多智能体系统,可以将用户需求转换为生产就绪的Selenium测试套件。它使用LangGraph进行编排,使用模型上下文协议(MCP)进行工具集成,并设置了人工参与的质量门。结果:更快的测试生成、一致的结构和企业友好的部署模型。
🚨 问题:手动测试创建成为瓶颈
即使在成熟的工程组织中,QA仍然涉及重复性、易出错的步骤:
-
📝 将需求转换为测试用例
-
💻 编写(和重写)Selenium代码
-
🗄️ 管理环境特定的测试数据
-
🤝 在QA和工程之间进行协调
如果智能体能够像真正的QA团队一样协作——并自动化大部分端到端流程会怎样?
💡 解决方案:AI Recorder — 测试生成的智能体工作流
AI Recorder是一个多智能体系统,可以将简单英语需求转换为可运行的Selenium套件。它编排专门的智能体,每个都拥有明确的角色,然后在最终确定之前引入人工审查员。
🏗️ 系统概览(高级流程)
🔄 核心工作流程:
-
用户提供需求 → 自然语言描述测试场景
-
监督智能体路由和协调 → 任务分发和状态管理
-
Gherkin智能体生成BDD特性 → 产生场景数据
-
Selenium智能体生成Java测试 → 通过浏览器自动化验证(通过MCP工具)
-
人工审查智能体质量门 → 审批/请求更改
🔧 架构深度解析
👥 多智能体团队
1️⃣ 监督智能体 — 编排者
路由任务、管理状态和处理反馈循环。
2️⃣ Gherkin创建智能体 — 需求翻译者
将自然语言需求转换为结构化BDD规范。
3️⃣ Selenium智能体 — 测试生成器 + 验证器
生成Java测试代码并通过MCP暴露的工具在真实浏览器会话中验证。
4️⃣ 人工审查智能体 — 质量门
在接受最终输出之前执行人工参与审批。
✨ 核心技术:MCP集成(仅异步)与asynccontextmanager
🔑 关键要点:
-
MCP在LangChain中始终是异步的。必须使用await/ainvoke。没有安全的同步路径。
-
使用@asynccontextmanager防止在MCP传输/会话关闭后尝试使用时出现可怕的
-
anyio.ClosedResourceError。
-
我们使用从https://github.com/angiejones/mcp-selenium衍生的转换MCP服务器,适配企业使用并扩展工具覆盖范围。
🚫 为什么需要asynccontextmanager?
MCP在底层依赖异步传输(stdio/套接字)。如果你创建客户端/会话并让其范围结束(或尝试在上下文外"重用"它),你将不可避免地遇到:
这发生在代码尝试在已经被清理的流或会话上读取/写入时。正确的模式是通过将它们包装在@asynccontextmanager中,在整个工作流程期间保持MCP传输、会话和工具发现的活跃状态。当上下文退出时,一切都会精确关闭一次,防止悬空资源和双重关闭错误。
💻 更新的asynccontextmanager实现
(MCP仅异步 + ClosedResourceError修复)
✅ 正确用法(仅异步)
⚠️ 错误用法警告:
当图尝试调用MCP时,这将在稍后失败。一旦这些上下文管理器退出,流/会话就已经关闭了。
务必将整个MCP生命周期保持在跨整个工作流的async with内(如make_graph()中所示)。
🎯 结论
现代AI不仅仅是生成代码——它是关于协调具有清晰角色、类型化接口和强大工具的专门智能体。通过将LangGraph的编排与MCP的工具发现和严格的资源模式相结合,AI Recorder将需求转换为经过验证、可审查的Selenium套件——可扩展、可维护且企业就绪。
🚀 核心价值总结
✨ 技术创新点:
-
多智能体协作 — 模拟真实QA团队分工
-
自然语言转换 — 零技术门槛的需求输入
-
实时验证机制 — 生成即验证,确保代码质量
-
人工质量门 — 保持最终输出的可控性
📈 实际应用价值:
-
效率提升 — 测试创建速度提升数倍
-
质量保证 — 结构化生成,减少人为错误
-
团队协作 — 打通需求到测试的完整链路
-
企业适配 — 支持大规模部署和定制化
🔬 技术前沿观察: 这种AI协作式测试生成代表了自动化测试的未来方向,值得每个测试工程师深入了解!
💭 思考题: 当AI能够自动生成测试用例时,测试工程师的核心价值将转向哪里?欢迎评论区交流!
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
更多推荐
所有评论(0)