AI驱动的QA自动化测试框架

一个基于Playwright和AI技术的自动化测试框架,能够自主分析、计划、执行和报告Web应用程序的测试,减少手动QA工作并提高测试效率。

  • by hadjioglo
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 hadjioglo/mcp-driven-ai-automation-hadjioglo

使用说明

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

我们简化的人工智能测试平台是如何工作的

  1. QA工程师启动测试

    • 您提供目标网站URL
    • 系统开始自动测试过程
  2. AI代理执行流程

    • 分析网站以确定可测试的组件和功能
    • 根据分析创建测试计划
    • 通过Playwright MCP服务器协调浏览器交互
    • 通过屏幕截图和交互日志捕获证据
    • 编译详细的测试结果和文档
    • 自动将执行日志和结果保存到本地文件系统
  3. 技术组件

    • 剧作家MCP服务器:促进浏览器自动化和UI交互
    • 本机文件操作:用于日志记录和结果存储的直接文件系统访问
    • Azure OpenAI:为驱动测试策略和执行的推理引擎提供动力
  4. 数据和控制流

    • AI推理引擎确定测试场景→ Playwright执行精确的浏览器交互→ 结果会自动记录到文件系统中
    • 这种简化的架构保持了专业的测试标准,同时减少了外部依赖性

运作原理

  1. 分析阶段:AI代理探索目标web应用程序,以了解其UI组件、功能和特性
  2. 规划阶段:根据其分析,代理创建了一个涵盖已识别特征的详细测试计划
  3. 执行阶段:代理通过MCP使用Playwright在web界面上执行测试
  4. 报告阶段:代理使用屏幕截图记录测试结果,并生成详细报告,自动记录到文件系统中

为什么这对QA自动化工程师很重要

转变QA角色

AI在测试中的整合改变了QA自动化工程师的角色:

  • 战略重点:从编写测试脚本转向定义测试策略和审查人工智能生成的计划
  • 更高级别的质量保证:注重质量目标,而不是实施细节
  • 复杂的测试场景:在人工智能处理常规测试的同时,将时间用于边缘案例和复杂场景
  • 持续学习:掌握最新的人工智能能力,有效监督和利用人工智能驱动的测试

QA工程师必备的人工智能知识

  • 提示工程:了解如何通过有效的指导来引导AI代理
  • 人工智能能力和局限性:知道何时使用人工智能与传统测试方法
  • 模型上下文协议(MCP):了解AI如何与测试工具交互
  • AI测试评估:培养评估人工智能生成的测试计划和结果质量的技能

入门指南

  1. 克隆此存储库
  2. 复制 .env.template 到 .env 并填写您的Azure OpenAI凭据
  3. 导航到 playwright/llm-automation 目录
  4. 跑 python program.py 启动人工智能驱动的测试

需求

  • 有关依赖关系列表,请参阅requirements.txt文件

未来的增强功能

  • 支持API测试
  • 与CI/CD管道集成
  • 测试数据生成能力
  • 性能测试集成
  • 跨浏览器测试协调
  • 测试结果的自动电子邮件通知