AI驱动的QA自动化(仅限剧作家框架)
该项目将AI代理与Playwright集成在一起,为web应用程序创建自主的QA测试功能,而不依赖于文件服务器MCP依赖关系。
概述
AI驱动的QA自动化工具利用模型上下文协议(MCP)和大型语言模型(LLM)来实现web应用程序的智能、自主测试。基于OpenAI Agent SDK,这种简化的实现只关注Playwright自动化,同时保持全面的测试执行日志和报告。
该系统使用一个AI代理,可以理解web应用程序功能,创建测试计划,使用Playwright执行测试,并生成具有自动日志记录的详细测试报告,所有这些都具有最小的外部依赖性。测试结果和执行日志会自动捕获并保存到文件系统中。
该项目是一个轻量级、专注的实现,展示了人工智能驱动的测试能力,同时保持了简单性并减少了依赖性。
益处
- 自主测试:通过使AI能够计划和执行测试,减少手动QA工作
- 覆盖:AI代理智能地识别关键特征并创建全面的测试计划
- 自我记录:自动生成测试计划和详细结果,并以屏幕截图的形式提供证据
- 适应性:有可能与任何web应用程序一起工作,而不需要自定义测试脚本
- 减少维护:与传统的自动化框架相比,由于繁重的编码和维护开销,需要维护的代码更少
- 更快的测试周期:加快测试阶段,支持敏捷开发
溶液结构
.
├── .env # Environment variables configuration
├── .env.template # Template for environment variables
├── requirements.txt # Python dependencies
├── playwright/ # Main project directory
│ └── llm-automation/ # AI automation implementation
│ ├── program.py # Main Python script for AI testing
│ ├── agent_instructions_v2.txt # Updated AI agent instructions
│ ├── package.json # Node.js dependencies for Playwright
│ └── fs_files/ # Directory for test results and logs
│ └── agent_execution_log.txt # Execution logs技术架构
graph TD
A[QA Engineer] -->|Provides URL| B[AI Agent]
B -->|Analyzes Website| C[Web Application]
B -->|Creates| D[Test Plan]
B -->|Controls| E[Playwright Browser]
E -->|Interacts with| C
B -->|Generates| F[Test Results & Evidence]
subgraph "Streamlined MCP Framework"
H[Playwright MCP Server] |Browser Control| B
H |Browser Automation| E
end
subgraph "Native File Operations"
I[Local File System] |Logs & Results| B
end
subgraph "Azure OpenAI"
J[LLM] |Reasoning & Decision Making| B
end我们简化的人工智能测试平台是如何工作的
- QA工程师启动测试
- 您提供目标网站URL - 系统开始自动测试过程
- AI代理执行流程
- 分析网站以确定可测试的组件和功能 - 根据分析创建测试计划 - 通过Playwright MCP服务器协调浏览器交互 - 通过屏幕截图和交互日志捕获证据 - 编译详细的测试结果和文档 - 自动将执行日志和结果保存到本地文件系统
- 技术组件
- 剧作家MCP服务器:促进浏览器自动化和UI交互 - 本机文件操作:用于日志记录和结果存储的直接文件系统访问 - Azure OpenAI:为驱动测试策略和执行的推理引擎提供动力
- 数据和控制流
- AI推理引擎确定测试场景→ Playwright执行精确的浏览器交互→ 结果会自动记录到文件系统中 - 这种简化的架构保持了专业的测试标准,同时减少了外部依赖性
运作原理
- 分析阶段:AI代理探索目标web应用程序,以了解其UI组件、功能和特性
- 规划阶段:根据其分析,代理创建了一个涵盖已识别特征的详细测试计划
- 执行阶段:代理通过MCP使用Playwright在web界面上执行测试
- 报告阶段:代理使用屏幕截图记录测试结果,并生成详细报告,自动记录到文件系统中
为什么这对QA自动化工程师很重要
转变QA角色
AI在测试中的整合改变了QA自动化工程师的角色:
- 战略重点:从编写测试脚本转向定义测试策略和审查人工智能生成的计划
- 更高级别的质量保证:注重质量目标,而不是实施细节
- 复杂的测试场景:在人工智能处理常规测试的同时,将时间用于边缘案例和复杂场景
- 持续学习:掌握最新的人工智能能力,有效监督和利用人工智能驱动的测试
QA工程师必备的人工智能知识
- 提示工程:了解如何通过有效的指导来引导AI代理
- 人工智能能力和局限性:知道何时使用人工智能与传统测试方法
- 模型上下文协议(MCP):了解AI如何与测试工具交互
- AI测试评估:培养评估人工智能生成的测试计划和结果质量的技能
入门指南
- 克隆此存储库
- 复制
.env.template到.env并填写您的Azure OpenAI凭据 - 导航到
playwright/llm-automation目录 - 跑
python program.py启动人工智能驱动的测试
需求
- 有关依赖关系列表,请参阅requirements.txt文件
未来的增强功能
- 支持API测试
- 与CI/CD管道集成
- 测试数据生成能力
- 性能测试集成
- 跨浏览器测试协调
- 测试结果的自动电子邮件通知
