🧠 代理剧作家MCP框架
 ](https://nodejs.org/)  ](https://docs.npmjs.com/cli/v7/using-npm/workspaces)   
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
Clone repository
git clone 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
1. **更新凭据** (config/credentials/credentials.xml):
your_username
your_password
your_api_key
1. **更新应用程序URL** (config/urls/Application_Url_config.xlsx):
- 为每个环境设置适当的URL
1. **配置路径** (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](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`
1. 创建 `package.json` 有依赖关系
1. 实现代理扩展 `BaseAgent`
1. 添加到管道编排器
### 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报告,检查对象存储库元素
**问题**:选择器片状
- **解决方案**:启用代理治疗师,查看元素定位器
## 📖 文档
- [架构概述](docs/architecture.md) -系统设计和组件
- [管道指南](docs/pipeline.md) -详细的管道执行
- [代理商文件](docs/agents.md) -个人代理责任
- [需求](REQUIREMENTS.md) -项目要求
- [系统设计](SYSTEM-DESIGN.md) -综合系统设计
## 🤝 贡献
请参阅 [贡献.md](CONTRIBUTING.md) 关于以下方面的指导方针:
- 代码样式和标准
- 代理开发
- 测试要求
- 拉取请求流程
## 📝 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
## 🙋 支持
如有疑问或问题:
1. 检查文档 `docs/` 文件夹
1. 查看故障排除部分
1. 打开一个包含详细信息的问题
## 📚 技术栈
- **语言**:TypeScript(ES2020+)
- **测试框架**:剧作家
- **运行时**:Node.js 18+
- **包管理器**:带工作区的npm
- **构建**:TypeScript编译器
- **建筑**:基于模型上下文协议(MCP)的多代理系统
## 🎯 路线图
未来的增强功能:
- \[\]与AI模型集成,实现更智能的测试生成
- \[\]分布式代理执行
- \[\]基于云的工件存储
- \[\]实时测试监控仪表板
- \[\]移动测试支持
- \[\]API测试集成
- \[\]性能测试试剂
- \[\]基于ML的高级选择器修复