AI增强测试自动化平台

基于Playwright和MCP协议的下一代AI增强测试自动化平台,提供智能测试规划、生成、执行和自愈功能。

  • by KrishnaKumar1203
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 KrishnaKumar1203/agentic-playwright-mcp-framework

使用说明

🧠 代理剧作家MCP框架

A. 下一代人工智能增强测试自动化平台 使用Playwright和模型上下文协议(MCP)构建,用于智能测试规划、生成、执行和自愈。

🌟 核心功能

✅ 19名专业代理 -跨7个架构层的分布式智能
✅ AI测试生成 -根据需求创建LLM驱动的测试计划
✅ 动态测试数据 -无需硬编码的真实数据生成(Faker.js)
✅ 安全SQL查询 -验证并生成仅SELECT查询(块DELETE/INSERT/UPDATE)
✅ 自我修复测试 -使用字符串相似性自动修复选择器
✅ 智能故障分析 -基于人工智能的根本原因建议
✅ DOM更改检测 -识别UI结构中的突破性变化
✅ 需求覆盖范围 -可追溯性矩阵和差距分析
✅ 零硬编码 -所有配置均来自环境变量
✅ 多环境支持 -DEV、QA、UAT、PROD,具有基于环境的配置
✅ 完整的工件管道 -每个阶段生成的工件

🏗️ 7层架构

该框架实现了一个复杂的分层代理架构:

Layer 7: Reporting             agent-report-composer, agent-test-coverage
         ↑
Layer 6: Intelligence          agent-self-healing, agent-failure-analyzer
         ↑
Layer 5: Execution             Playwright test runner
         ↑
Layer 4: Generation            agent-codegen (generates .spec.ts)
         ↑
Layer 3: Discovery             agent-explorer, agent-dom-analyzer
         ↑
Layer 2: Planning (AI)         agent-ai-planner (LLM-based), agent-test-data
         ↑
Layer 1: Configuration         Environment variables, credentials, paths

这意味着什么

  • 第1层(配置):所有设置都外部化了-没有硬编码值
  • 第2层(规划/AI):LLM根据需求生成测试计划+Faker生成测试数据
  • 第3层(探索):应用程序探索和DOM更改检测
  • 第4层(世代):自动将计划转换为Playwright代码
  • 第5层(执行):使用Playwright运行测试
  • 第6层(智能):自动修复损坏的选择器+AI故障分析
  • 第7层(报告):生成报告+验证需求覆盖率 ↓ 代理目录(服务发现) ↓ 代理编排器(测试编排) ↓ 代理功能(功能测试) ↓ 代理测试计划(VSTP大楼) ↓ 代理资源管理器(UI元素发现) ↓ 代理代码生成器(代码生成) ↓ 代理qa-gate(质量验证) ↓ 剧作家(测试执行) ↓ 代理报告编写器(报告生成) ↓ 报告和人工制品

## 📦 Project Structure

代理剧作家mcp框架/ ├── config/#主配置 │ ├── path.properties#路径配置 │ ├── credentials/credentials.xml#加密凭据 │ ├── Url/Application_Url_Config.xlsx#Url配置 │ └── 环境/#环境配置 │ ├── ISB_DEV_Env.properties │ ├── ISB_QA_Env.properties │ ├── ISB_UAT_Env.properties │ └── ISB_PROD_Env.properties │ ├── artifacts/#生成的工件管道 │ ├── 已解决/#连接配置 │ ├── 目录/#服务目录 │ ├── vstp/#测试计划 │ ├── 对象存储库/#UI元素 │ ├── 质量保证门/#质量保证报告 │ ├── 报告/#最终报告 │ └── logs/#执行日志 │ ├── packages/#代理包(npm工作区) │ ├── 代理核心/#核心框架 │ ├── 代理连接器/#连接代理 │ ├── 代理登录/#登录代理 │ ├── 代理目录/#目录代理 │ ├── 代理编排器/#编排代理 │ ├── agent功能/#功能测试agent │ ├── 代理测试计划/#VSTP构建器代理 │ ├── 代理浏览器/#元素发现代理 │ ├── agent codegen/#代码生成代理 │ ├── 代理qa-gate/#qa验证代理 │ ├── 代理报告编写器/#报告生成代理 │ ├── agent codemod/#代码转换代理 │ └── 治疗剂/#选择治疗剂 │ ├── apps/#测试应用程序 │ └── 示例webapp测试/#示例Playwright测试 │ ├── 测试/ │ │ ├── 已生成/#代理生成的规格 │ │ └── 手动/#手动编写的测试 │ ├── pageObjects/#页面对象模型 │ ├── 特征/#BDD特征文件 │ ├── 测试数据/#测试数据集 │ └── utils/#实用程序函数 │ ├── appModules/#业务实用程序 │ └── utils/ │ ├── accountUtils.ts │ ├── authUtils.ts │ └── searchUtils.ts │ ├── scripts/#管道自动化 │ ├── run-pipeline.js#主管道脚本 │ ├── clean-artifacts.js#清理脚本 │ └── generate-reports.js#报表生成 │ ├── docs/#文档 │ ├── architecture.md#系统架构 │ ├── pipeline.md#管道导向器 │ └── agents.md#代理文档 │ ├── package.json#根package.json ├── tsconfig.json#TypeScript配置 ├── playwright.config.ts#剧作家配置 ├── REQUIMENTS.md#项目要求 └── README.md#此文件


## 🚀 Quick Start

### Prerequisites
- **Node.js** 18 or higher
- **npm** 8 or higher
- **Playwright** browsers (will auto-download)

### Installation

```bash
# Clone repository
git clone <repository-url>
cd agentic-playwright-mcp-framework

# Install all dependencies
npm install

# Optional: Install Playwright browsers
npx playwright install

运行管道

# Full pipeline execution
npm run pipeline

# Or run individual commands:
npm run build              # Build all packages
npm run test               # Run tests (workspaces)
npm run dev                # Development mode with watch
npm run clean              # Clean artifacts
npm run reports            # Generate reports

🔧 配置

环境设置

  1. 选择环境:

    export ENVIRONMENT=ISB_DEV  # or ISB_QA, ISB_UAT, ISB_PROD
    
  2. 更新凭据 (config/credentials/credentials.xml):

    <Environment name="ISB_DEV">
        <Credential>
            <UserID>your_username</UserID>
            <Password>your_password</Password>
            <ApiKey>your_api_key</ApiKey>
        </Credential>
    </Environment>
    
  3. 更新应用程序URL (config/urls/Application_Url_config.xlsx):

    • 为每个环境设置适当的URL
  4. 配置路径 (config/path.properties):

    • 根据需要调整基础路径

环境性能

每个环境都有自己的配置文件:

# config/environments/ISB_DEV_Env.properties
ENVIRONMENT=ISB_DEV
APP_URL=http://dev.isb-example.com
API_BASE_URL=http://api-dev.isb-example.com
BROWSER=chromium           # chromium, firefox, webkit
HEADLESS=false             # false for development
TIMEOUT=30000              # ms
RETRY_COUNT=2
LOG_LEVEL=debug

📚 代理商概述

# 代理 目的 输入 输出
1 代理连接器 连接解析 配置 连接配置.json
2 代理登录 身份验证 凭据 身份验证令牌
3 代理商目录 服务发现 appModules/ utilities.json
4 代理编排器 测试计划 服务 执行.plan.json
5 代理功能 功能测试 计划 测试结果.json
6 代理测试计划 VSTP生成 结果 *.VSTP.json
7 代理浏览器 元素发现 应用程序URL elements.json
8 代理代码生成器 代码生成 VSTP+元素 *.spec.ts
9 qa-gate探员 质量验证 生成代码 qa-gate-report.json
10 剧作家 测试执行 *.spec.ts 测试结果
11 代理人报告撰写人 报告生成 所有结果 HTML/JSON报告

其他代理人: 代理codemod (代码转换), 代理治疗师 (选择器维修)

📋 管道阶段

第一阶段:连接解析

agent-connector
├─ Input: config/path.properties + Environment
├─ Process: Resolve connections, validate connectivity
└─ Output: artifacts/resolved/connection-config.json

阶段2-11:顺序执行

每个阶段都使用前一阶段的输出。看 docs/pipeline.md 详细文档。

🧪 运行测试

运行所有测试

npm test

仅运行剧作家测试

npx playwright test

使用UI模式运行

npx playwright test --ui

在调试模式下运行

npx playwright test --debug

运行单个测试文件

npx playwright test apps/example-webapp-tests/tests/manual/sample.spec.ts

生成测试代码

npx playwright codegen http://localhost:3000

📊 报告

报告生成于 artifacts/reports/:

  • summary.html -包含指标的执行摘要
  • 详细信息.html -详细的测试结果
  • 数据库报告.html -数据库验证结果
  • 可追踪性.html -需求可追溯性矩阵

查看报告

npm run reports                    # Generate reports
npx playwright show-report         # View Playwright report

🛠️ 发展

添加新代理

  1. 创建目录: packages/agent-newagent
  2. 创建 package.json 有依赖关系
  3. 实现代理扩展 BaseAgent
  4. 添加到管道编排器

TypeScript构建

# Build all packages
npm run build

# Build specific package
npm run build -w packages/agent-connector

# Watch mode
npm run dev

过梁和类型检查

npm run lint           # Run linters (workspaces)
npm run type-check     # Type checking

🔐 安全

  • 凭证:存储在加密的XML文件中(config/credentials/)
  • 环境隔离:每个环境的配置不同
  • 许可证管理:安全会话令牌处理
  • 审计日志:所有操作都记录到工件/日志中/

📈 演出

典型的管道执行时间:

阶段 持续时间 备注
连接和认证 30-90s 网络相关
目录和计划 1-2分钟 服务扫描
元素发现 2-5min 取决于应用程序的复杂性
代码生成 30-90s 取决于测试用例计数
QA验证 20-40s 代码质量检查
编剧执行 5-30min+ 测试套件大小取决
报告生成 20-60s 结果聚合
总计 5-30+分钟 完整管道

🐛 故障排除

常见问题

问题:管道在连接阶段出现故障

  • 解决方案:检查credentials.xml和环境配置

问题:元素发现超时

  • 解决方案:增加环境属性中的超时时间,检查网络

问题:生成的测试失败

  • 解决方案:查看qa-gate报告,检查对象存储库元素

问题:选择器片状

  • 解决方案:启用代理治疗师,查看元素定位器

📖 文档

🤝 贡献

请参阅 贡献.md 关于以下方面的指导方针:

  • 代码样式和标准
  • 代理开发
  • 测试要求
  • 拉取请求流程

📝 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🙋 支持

如有疑问或问题:

  1. 检查文档 docs/ 文件夹
  2. 查看故障排除部分
  3. 打开一个包含详细信息的问题

📚 技术栈

  • 语言:TypeScript(ES2020+)
  • 测试框架:剧作家
  • 运行时:Node.js 18+
  • 包管理器:带工作区的npm
  • 构建:TypeScript编译器
  • 建筑:基于模型上下文协议(MCP)的多代理系统

🎯 路线图

未来的增强功能:

  • []与AI模型集成,实现更智能的测试生成
  • []分布式代理执行
  • []基于云的工件存储
  • []实时测试监控仪表板
  • []移动测试支持
  • []API测试集成
  • []性能测试试剂
  • []基于ML的高级选择器修复