🤖 基于模型上下文协议的Agent AI多Agent测试自动化平台
由Claude AI和剧作家提供技术支持
一个尖端的测试自动化平台,通过模型上下文协议利用多个人工智能代理和真正的浏览器自动化,自主生成、执行和智能分析测试。
______________________________________________________________________
📋 目录
______________________________________________________________________
🌟 概述
该框架结合了 AI代理 (由克劳德提供动力) 模型上下文协议(MCP) 用于浏览器自动化,以创建端到端的智能测试自动化系统。
是什么让它独一无二?
- 🤖 4个AI代理 在管道中协同工作 克劳德·艾
- 🎭 REAL浏览器自动化 -没有模拟!通过MCP的实际剧作家浏览器
- 🌐 真正的MCP集成 -使用官方的模型上下文协议SDK
- 📊 AI驱动的分析 具有漂亮的HTML报告
- 🔄 两种执行模式 -全AI流水线或直接提示执行器
- � 环境驱动 -零硬编码值,全部来自环境变量
- 🎨 美丽的视觉报告 提供人工智能见解和建议
- ✅ 生产就绪 -在Windows上进行了测试,实现了真正的浏览器自动化
______________________________________________________________________
✨ 主要特点
🤖 多代理架构
- 代理1(故事分析师):使用分析用户故事 克劳德3.5十四行诗
- 代理2(测试生成器):使用生成全面的测试用例 克劳德3.5十四行诗
- 代理人3(测试执行人):对执行测试 真实浏览器 通过 剧作家MCP (无需人工智能)
- 代理4(结果分析器):使用以下工具提供人工智能驱动的见解 克劳德3俳句
重要:代理3使用 REAL MCP浏览器自动化 -不是模拟的!通过模型上下文协议控制的实际剧作家浏览器。
🎭 真正的浏览器自动化
- 由...驱动 剧作家 通过 模型上下文协议(MCP)
- 真实浏览器 -Chromium、Firefox或WebKit(无模拟/模拟)
- 使用官方 @模型上下文协议/sdk 用于标准化工具界面
- 支持有头(可见)和无头模式
- 调试慢动作模式
- Windows兼容固定生成处理(节点+tsx直接执行)
- StdioClientTransport用于可靠的过程通信
📊 智能报告
- 具有AI洞察力的精美HTML报告
- 用于进一步分析的JSON数据文件
- 覆盖间隙检测
- 趋势分析
- 智能推荐
- 风险等级评估
🔄 灵活执行
- 完整的AI管道:完成从故事到执行的工作流程
- 直接快速执行者:从预先生成的测试用例快速执行
______________________________________________________________________
🏗️ 建筑
┌─────────────────────────────────────────────────────────────┐
│ USER STORY INPUT │
└──────────────────┬──────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ AGENT 1: Story Analyst (Claude 3.5 Sonnet) │
│ • Analyzes user story │
│ • Extracts requirements │
│ • Identifies test scenarios │
└──────────────────┬──────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ AGENT 2: Test Generator (Claude 3.5 Sonnet) │
│ • Generates test cases │
│ • Creates test data │
│ • Defines test steps │
└──────────────────┬──────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ AGENT 3: Test Executor (Playwright MCP) │
│ • Initializes browser via MCP │
│ • Executes test steps │
│ • Captures results & errors │
│ • Takes screenshots │
└──────────────────┬──────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ AGENT 4: Results Analyzer (Claude 3 Haiku) │
│ • Analyzes test results │
│ • Detects patterns & trends │
│ • Identifies coverage gaps │
│ • Generates recommendations │
│ • Creates beautiful HTML reports │
└─────────────────────────────────────────────────────────────┘有关详细的体系结构文档,请参阅 建筑.md.
______________________________________________________________________
📦 先决条件
- Node.js:v18或更高版本
- npm:v8或更高版本
- TypeScript:v5.x
- 无烟煤API密钥:从 拟人控制台
______________________________________________________________________
🚀 安装
1.克隆存储库
git clone https://github.com/ravikaanthe/MCP-MultiAgent-Framework.git
cd MCP-MultiAgent-Framework2.安装依赖项
npm install3.安装Playwright浏览器
npx playwright install chromium______________________________________________________________________
⚙️ 配置
1.创建环境文件
创建一个 .env 项目根目录中的文件:
# Anthropic API Key (Required for AI Agents)
ANTHROPIC_API_KEY=sk-ant-api03-your-api-key-here2.配置测试环境
该框架使用 环境变量 对于所有配置(零硬编码值)。
编辑您的 .env 配置测试环境的文件:
# ParaBank Test Environment Configuration
BASE_URL=https://parabank.parasoft.com/parabank
LOGIN_URL=https://parabank.parasoft.com/parabank/index.htm
OPEN_ACCOUNT_URL=https://parabank.parasoft.com/parabank/openaccount.htm
# Valid Test Credentials
VALID_USERNAME=ficusroot
VALID_PASSWORD=katal@n@ravi
# Invalid Test Credentials (for negative testing)
INVALID_USERNAME=invaliduser
INVALID_PASSWORD=invalidpass
# Test Data
VALID_SOURCE_ACCOUNT=29217
INVALID_SOURCE_ACCOUNT=12345
DEFAULT_ACCOUNT_TYPE=SAVINGS环境管理器 (src/config/environments.ts)提供集中访问:
import EnvironmentManager from './config/environments.js';
// Get credentials
const validCreds = EnvironmentManager.getValidCredentials();
// { username: 'ficusroot', password: 'katal@n@ravi' }
// Get URLs
const urls = EnvironmentManager.getUrls();
// { baseUrl: '...', loginUrl: '...', ... }______________________________________________________________________
🎯 用法
方法1:全AI流水线(4个代理)
从用户故事到执行和分析的完整工作流程。
命令
npm test -- [--headed]例子
# Execute in headless mode (default)
npm test -- AUTH-001
# Execute with visible browser
npm test -- AUTH-001 --headed
# Execute account management story
npm test -- ACCT-002 --headed发生了什么:
- ✅ 代理1分析用户故事
- ✅ 代理2生成测试用例
- ✅ Agent 3通过Playwright MCP执行测试
- ✅ Agent 4使用AI洞察力分析结果
- ✅ 生成漂亮的HTML报告
输出位置:
outputs/
├── test-cases/{module}/{STORY_ID}-tests.md
└── test-results/{module}/{STORY_ID}-results-{timestamp}.{html|json}______________________________________________________________________
方法2:直接提示执行器
从预先生成的测试用例快速执行。
命令
npm run prompt -- "
"例子
# Execute authentication tests
npm run prompt -- "outputs/test-cases/authentication/AUTH-001-tests.md"
# Execute account management tests
npm run prompt -- "outputs/test-cases/account-management/ACCT-002-tests.md"发生了什么:
- ✅ 从markdown文件读取测试用例
- ✅ 通过Playwright MCP(可见浏览器)执行测试
- ✅ 使用AI分析结果(Agent 4)
- ✅ 生成HTML+JSON报告
输出位置:
outputs/test-results/{module}/{STORY_ID}-results-{timestamp}.{html|json}______________________________________________________________________
📊 输出和报告
报告类型
两种执行方法都会生成相同的综合报告:
1. JSON报告 (机器可读)
{
"storyId": "AUTH-001",
"module": "authentication",
"executionTime": "2025-12-05T18:48:31.806Z",
"totalDuration": 55881,
"summary": {
"totalTests": 5,
"passed": 4,
"failed": 1,
"passRate": 80
},
"analysis": {
"summary": "...",
"riskLevel": "medium",
"coverageGaps": [...],
"trends": [...],
"recommendations": [...]
},
"results": [...]
}2. HTML报告 (精美的视觉报告)
特征:
- 📊 包含指标的执行摘要
- 🎨 颜色编码测试结果
- 📈 通过率可视化
- 🚨 突出关键问题
- 💡 基于人工智能的推荐
- 🔍 覆盖差距分析
- 📉 趋势检测
- ⏱️ 逐步计时
在浏览器中打开:
file:///path/to/outputs/test-results/{module}/{STORY_ID}-results-{timestamp}.html______________________________________________________________________
📁 项目结构
Multi-Agent Test Automation Framework/
├── src/
│ ├── agents/ # 4 AI Agents
│ │ ├── story-analyst.ts # Agent 1: Analyzes user stories
│ │ ├── test-generator.ts # Agent 2: Generates test cases
│ │ ├── test-executor.ts # Agent 3: Executes tests
│ │ └── results-analyzer.ts # Agent 4: Analyzes results
│ ├── core/ # Core framework
│ │ ├── orchestrator.ts # Orchestrates 4-agent pipeline
│ │ └── types.ts # TypeScript interfaces
│ ├── config/ # Configuration
│ │ └── environments.ts # Environment management
│ ├── executors/ # Execution engines
│ │ └── prompt-executor.ts # Direct execution from markdown
│ ├── mcp/ # Model Context Protocol
│ │ └── playwright-mcp-server.ts # Playwright MCP server
│ ├── managers/ # Utility managers
│ │ └── test-prompt-manager.ts # Test case & results manager
│ └── cli/ # CLI tools
├── user-stories/ # User story input files
│ ├── authentication/
│ └── account-management/
├── outputs/ # Generated outputs
│ ├── test-cases/ # Generated test cases
│ └── test-results/ # Test results & reports
├── .env # Environment variables (API keys)
├── package.json # Dependencies & scripts
├── tsconfig.json # TypeScript configuration
├── README.md # This file
└── ARCHITECTURE.md # Detailed architecture docs______________________________________________________________________
🐛 故障排除
问题:“ANTHROPIC_API_KEY未设置”警告
原因:缺少Anthropic API密钥或密钥无效
解决方案:
- 创建
.env项目根目录中的文件 - 添加API密钥:
ANTHROPIC_API_KEY=sk-ant-api03-your-key-here - 重新启动应用程序
没有API密钥会发生什么:
- ✅ 测试仍在执行(代理3不需要API)
- ✅ 计算基本指标
- ❌ 人工智能见解不可用(Agent 4退回到基本分析)
______________________________________________________________________
问题:Windows上出现“spawn EINVAL”错误
状态: ✅ 固定的 最新版本!
怎么了:Windows无法生成 .cmd 文件与 {shell: false} 通过stdioclienttransport
我们如何修复它:
// OLD (BROKEN on Windows):
const transport = new StdioClientTransport({
command: 'npx.cmd',
args: ['tsx', 'src/mcp/playwright-mcp-server.ts', '--headed']
});
// NEW (WORKING on Windows):
const command = 'node';
const tsxLoaderPath = path.resolve(process.cwd(), 'node_modules', 'tsx', 'dist', 'cli.mjs');
const transport = new StdioClientTransport({
command: command,
args: [tsxLoaderPath, mcpServerPath, '--headed']
});结果:MCP服务器现在通过REAL浏览器自动化在Windows上可靠启动!
______________________________________________________________________
问题:浏览器无法打开
原因:MCP服务器未启动或配置错误
解决方案:
- 检查是否安装了Playwright:
npx playwright install chromium - 验证执行器文件中的MCP服务器路径
- 与一起跑步
--headed标记以查看可见浏览器 - 检查MCP服务器初始化的控制台日志
______________________________________________________________________
问题:“由于API错误,分析不可用”
原因:
- API密钥无效
- API密钥没有信用
- 网络连接问题
- API煤率限值
解决方案:
- 在验证API密钥 console.anthropic.com
- 检查API使用情况和信用
- 测试网络连接
- 如果速率受限,请等待并重试
后备方案:即使没有人工智能,框架也能提供基本分析
______________________________________________________________________
�️ 路线图
✅ 第1阶段:UI测试自动化(完成)
- \[x\] 带Claude的多代理AI架构(4个专用代理)
- \[x\] 模型上下文协议与Playwright的集成
- \[x\] 真正的浏览器自动化(Chromium/Firefox/WebKit)
- \[x\] 从用户故事中自主生成测试
- \[x\] 基于AI的结果分析,具有洞察力
- \[x\] 环境驱动配置(零硬编码值)
- \[x\] 跨平台支持(Windows/Mac/Linux)
- \[x\] 带有AI建议的HTML报告
- \[x\] 两种执行模式(全流水线+直接提示)
🔄 第二阶段:API和规模(正在进行中-2026年第一季度)
- \[\]REST API测试支持
- \[\]GraphQL测试支持
- \[\]混合UI+neneneba API测试场景
- \[\]身份验证处理(OAuth、JWT、API密钥)
- \[\]并行测试执行
- \[\]规模化的工人池管理
- \[\]跨并行运行的测试结果聚合
🔄 第三阶段:企业整合(计划-2026年第二季度)
- \[\]CI/CD模板(GitHub操作、Jenkins、GitLab CI)
- \[\]Docker容器化与Docker compose
- \[\]Kubernetes部署示例
- \[\]测试数据管理和播种
- \[\]数据库夹具支持
- \[\]高级报告仪表板
- \[\]趋势分析和故障模式检测
🔮 第4阶段:高级功能(未来)
- \[\]可视化回归测试集成
- \[\]自愈测试功能(自动更新选择器)
- \[\]性能测试集成(负载/压力测试)
- \[\]多应用程序测试工作流
- \[\]移动测试支持(iOS/Android)
- \[\]测试管理工具集成(Jira、TestRail)
想要一个功能? 打开一个问题 或者通过pull请求进行贡献!
______________________________________________________________________
�📝 可用命令
| 命令 | 描述 |
|---|---|
npm test -- | 运行完整的AI管道(4个代理) |
npm test -- --headed | 使用可见浏览器运行 |
npm run prompt -- "" | 从测试用例文件执行 |
npm run build | 将TypeScript编译为JavaScript |
npm run dev | 以开发模式运行 |
______________________________________________________________________
🔗 相关文件
______________________________________________________________________
📄 许可证
该项目根据ISC许可证获得许可。
______________________________________________________________________
📧 联系
- 仓库:
- 问题:
______________________________________________________________________
由...制作❤️ 使用AI代理、MCP和剧作家
