关于 UniAuto MCP Server
UniAuto MCP Server 面向 Web 和桌面应用测试,结合 Playwright、视觉匹配与 AI 测试生成。它还提供选择器自修复、测试管理及多类测试能力。
主要功能
- 01自动化 Web 与桌面测试
- 02通过多种策略修复选择器
- 03生成多框架测试代码
- 04视觉、无障碍与性能测试
- 05网络跟踪及测试用例管理
适用场景
- 01自动化跨浏览器 Web 测试
- 02维护容易因界面变化失效的测试
- 03生成并运行应用测试套件
- 04检查页面视觉、无障碍和性能
MCP 相关
该 MCP 服务向 AI 助手开放自动化操作和测试生成能力,并提供兼容 MCP 的命令执行接口。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
UniAuto MCP 服务
用于 Web 和桌面自动化的通用测试自动化 MCP 服务,具备自愈能力并集成了 AI。
尖端功能
UniAuto MCP 服务融合了多项尖端且面向未来的功能,使其跻身测试自动化技术的前沿:
1. 多层自愈自动化
该服务的 5 层自愈机制具有开创性,采用复杂的级联恢复策略:
- 基于存储库的备用选择器
- 基于角色的无障碍选择器
- 动态生成宽松的选择器
- 使用 DOM 和图像识别进行视觉元素匹配
- 基于上下文的文本邻近检测
这种多策略方法可打造极其稳健的测试,即使 UI 发生重大改版也能继续运行。
2. AI 驱动的测试生成与维护
与 Claude 和其他大模型集成后,可实现:
- 通过自然语言创建测试(“自动化结账流程”)
- 自动生成带有适当选择器的测试步骤
- 智能解析响应,将 AI 输出转换为可执行命令
- 解读视觉上下文(使用截图作为输入)
- 在多种框架中自动生成测试代码(Playwright、Cypress、Jest 等)
- 支持多种测试风格(BDD、TDD)和输出格式
- 分析应用结构,以智能地创建测试
3. MCP(模型上下文协议)集成
MCP 的实现尤其具有前瞻性:
- 允许 AI 助手直接控制测试基础设施
- 提供用于自动化操作的标准化 API
- 可与 Smithery.ai 及其他 AI 编排平台无缝集成
- 在大模型与 Web/桌面自动化之间搭建桥梁
4. 统一的 Web + 桌面自动化
在单一框架中集成 Web 测试(通过 Playwright)和桌面自动化,提供:
- 跨领域测试能力
- 测试跨越浏览器和原生应用的流程
- 不同应用类型之间保持一致的 API
5. 视觉智能
视觉匹配功能可实现:
- 根据外观而非结构识别元素
- 即使 DOM 元素完全改变,测试也能连续运行
- 像素级精确比较能力
核心功能
- 使用 Playwright 进行 Web 自动化(支持多种浏览器)
- 桌面自动化能力
- 用于提升测试自动化稳健性的自愈选择器
- 集成 AI 以生成测试(支持 Claude 和其他模型)
- 在多种框架和风格中自动生成测试代码
- 兼容 MCP(模型上下文协议),可与 AI 助手配合使用
- 测试用例管理和执行历史
- 视觉元素匹配
对测试自动化生态系统的影响
UniAuto MCP 服务有望改变测试自动化领域:
1. 降低维护成本
自愈能力大幅降低了测试自动化中最棘手的问题——维护成本。研究表明,组织会将 30-40% 的测试时间用于测试维护。UniAuto 有望将这一比例降低 70-80%,让 QA 资源能够投入更具战略性的工作。
2. 推动测试自动化普及
AI 集成使非技术相关方能够使用自然语言创建测试,有望通过以下方式扩大测试自动化的应用:
- 让产品经理直接指定验收测试
- 让业务分析师无需编写代码即可验证功能
- 降低创建测试所需的专业技能门槛
3. 韧性变革
通过解决现代自动化中的脆弱性问题,UniAuto 推动整个生态系统从关注选择器的测试转向关注韧性的测试。这种范式转变从根本上改变了测试的编写和评估方式。
4. AI 赋能测试
作为一个兼容 MCP、可与 Claude 和其他模型协同工作的系统,UniAuto 将自动化定位为一项“AI 原生”技术,为以下能力奠定基础:
- AI 驱动的探索性测试
- 自动化测试维护
- 基于应用变更的智能测试优先级排序
- 面向利益相关者的自然语言测试报告
5. 跨领域测试标准
通过在一个框架下统一 Web 和桌面测试,UniAuto 有助于建立新的端到端测试标准,突破当前针对不同应用类型各自为政的做法。
安装
# Clone the repository
git clone https://github.com/yourusername/uniauto-mcp-server.git
cd uniauto-mcp-server
# Install dependencies
npm install
# Install Playwright browsers
npx playwright install
# Create environment file
cp .env.example .env
配置
编辑 .env 文件以配置服务:
# Server Configuration
PORT=3000
NODE_ENV=development
# Database (optional)
MONGODB_URI=mongodb://localhost:27017/uniauto
# Claude Configuration (required for AI processing)
CLAUDE_API_KEY=your_claude_api_key
CLAUDE_MODEL=claude-3-7-sonnet-20240229
Claude API 集成
UniAuto MCP Server 使用官方 Anthropic SDK 与 Claude 集成:
const Anthropic = require('@anthropic-ai/sdk');
const anthropic = new Anthropic({
apiKey: process.env.CLAUDE_API_KEY,
});
const response = await anthropic.messages.create({
model: "claude-3-7-sonnet-20240229",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello, Claude" }],
});
用法
# Start the server in development mode
npm run dev
# Start the server in production mode
npm start
API 端点
健康检查
GET /api/health- 检查服务状态
自动化命令
POST /api/execute- 执行自动化命令
测试用例管理
POST /api/test-cases- 创建测试用例GET /api/test-cases- 获取所有测试用例GET /api/test-cases/:id- 根据 ID 获取测试用例PUT /api/test-cases/:id- 更新测试用例DELETE /api/test-cases/:id- 删除测试用例
AI 集成
POST /api/ai/process- 使用 AI 处理自动化任务
测试生成
POST /api/generate-tests- 为应用生成测试用例POST /api/generate-full-suite- 生成包含多种测试类型的完整测试套件POST /api/scaffold-project- 搭建完整的测试项目结构GET /api/test-frameworks- 获取可用的测试框架、风格和格式
高级测试
POST /api/visual-compare- 将页面或元素与基准图像进行比较POST /api/accessibility-test- 对页面执行无障碍测试POST /api/performance-test- 对页面执行性能测试POST /api/network-trace- 跟踪 API 测试的网络活动POST /api/test-suite- 运行全面的测试套件
MCP 集成
POST /api/mcp/invoke- 执行兼容 MCP 的命令GET /api/mcp/manifest- 获取 MCP 清单
MCP 集成
此服务兼容 Claude 等 AI 助手使用的 Model Context Protocol(MCP)。要将其与 Claude 或其他 AI 模型配合使用:
- 启动服务
- 将 MCP 服务注册到 AI 助手
- AI 现在可以通过 MCP 协议使用自动化功能
Smithery.ai 集成
UniAuto MCP Server 与 Smithery.ai 无缝集成,便于连接 Claude 3.7 和其他 AI 助手:
要与 AI 助手无缝集成,可以使用 Smithery.ai:
# Install Smithery CLI
npm install -g @smithery/cli
# Connect UniAuto to Smithery
smithery connect uniauto-mcp-server
# Connect to an AI assistant
smithery connect --assistant claude
连接后,你可以使用 Claude Code、Claude Web、搭载 Claude Extension 的 VSCode 或 Cursor 来控制 UniAuto,执行自动化测试。
详细说明请参阅 Smithery 设置指南。
AI 助手集成
UniAuto 可与各种 AI 助手配合使用:
测试生成能力
UniAuto MCP Server 可以使用多种框架和风格自动生成测试代码:
- 多种框架:为 Playwright、Cypress、Jest、Selenium、WebDriverIO 等生成测试
- 测试风格:支持 BDD、TDD 和其他测试方法
- 输出格式:JavaScript、TypeScript、Python、Java、C# 和 Ruby
- 应用分析:智能分析应用结构,以生成适应上下文的测试
- 项目脚手架:生成包含配置文件的完整测试项目
- Claude AI 集成:使用 Claude 3.7 生成高质量、易维护的测试代码
- MCP 集成:所有测试生成功能均通过 Model Context Protocol 提供
高级测试能力
UniAuto MCP Server 提供全面的测试能力,不仅限于生成测试代码:
- 视觉测试:根据基线对比页面或元素截图,并配置阈值
- 无障碍测试:检查 WCAG 合规性,并提供包含问题和建议修复方案的详细报告
- 性能测试:测量加载时间、FCP、LCP 和资源等关键 Web 性能指标
- 网络跟踪:监控 API 调用、分析响应并验证网络行为
- 并行执行:并发运行多种测试类型,以缩短总执行时间
- 全面测试套件:结合执行测试并统一生成报告
有关 API 文档和示例的详细信息,请参阅测试生成指南。
自修复能力
该服务使用多种策略实现选择器自修复:
- 备用选择器库
- 基于角色的选择器(Playwright 特有)
- 生成更宽松的 CSS 选择器
- 使用 Playwright 内置能力进行视觉元素匹配
- 查找最近的基于文本的元素
Playwright 的优势
Playwright 为测试自动化带来了多项优势:
- 跨浏览器支持:适用于 Chromium、Firefox 和 WebKit
- 现代 Web 支持:更好地处理 Shadow DOM、iframe 和 Web 组件
- 强大的选择器:基于角色的选择器、基于文本的选择,以及 CSS/XPath 支持
- 自动等待:操作前自动等待元素就绪
- 可靠的操作:通过重试和计时管理,实现更可靠的元素交互
- 网络控制:拦截并修改网络请求
- 无头和有头模式:按需进行可视化调试
贡献
欢迎贡献!欢迎提交 Pull Request。
许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
