UniAuto MCP Server

UniAuto MCP Server

具有自修复功能的通用测试自动化 MCP 服务器,并集成了 Smithery.ai。

samuelvinay91

开发者工具
访问服务器

README

UniAuto MCP 服务器

<p align="center"> <img src="public/Gemini_Generated_Image_ufccx0ufccx0ufcc.jpeg" alt="UniAuto Logo" width="250"/> </p>

smithery badge

通用测试自动化 MCP 服务器,用于具有自修复功能和 AI 集成的 Web 和桌面自动化。

前沿特性

UniAuto MCP 服务器包含多个前沿和未来特性,使其处于测试自动化技术的最前沿:

1. 多层自修复自动化

服务器的 5 层自修复机制是革命性的,它使用复杂的恢复策略级联:

  • 基于存储库的替代选择器
  • 基于角色的可访问性选择器
  • 动态宽松选择器生成
  • 使用 DOM 和图像识别的视觉元素匹配
  • 上下文文本邻近度检测

这种多策略方法创建了非凡的弹性测试,即使在主要的 UI 改造中也能幸存。

2. AI 驱动的测试生成和维护

与 Claude 和其他 LLM 的集成支持:

  • 自然语言测试创建(“自动化结账流程”)
  • 自动测试步骤生成,带有适当的选择器
  • 智能响应解析,将 AI 输出转换为可执行命令
  • 可视上下文解释(使用屏幕截图作为输入)
  • 以多种框架(Playwright、Cypress、Jest 等)自动生成测试代码
  • 支持各种测试风格(BDD、TDD)和输出格式
  • 用于智能测试创建的应用程序结构分析

3. MCP(模型上下文协议)集成

MCP 的实现尤其具有前瞻性:

  • 允许 AI 助手直接控制测试基础设施
  • 公开用于自动化操作的标准化 API
  • 实现与 Smithery.ai 和其他 AI 编排平台的无缝集成
  • 在 LLM 和 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 在测试中的放大

作为一个与 Claude 和其他模型兼容的 MCP 系统,UniAuto 将自动化定位为一种“AI 原生”技术,为以下方面奠定了基础:

  • AI 驱动的探索性测试
  • 自动测试维护
  • 基于应用程序更改的智能测试优先级排序
  • 面向利益相关者的自然语言测试报告

5. 跨域测试标准

通过将 Web 和桌面测试统一在一个框架下,UniAuto 有助于为端到端测试建立新标准,从而超越当前针对不同应用程序类型的孤岛方法。

安装

# 克隆存储库
git clone https://github.com/yourusername/uniauto-mcp-server.git
cd uniauto-mcp-server

# 安装依赖项
npm install

# 安装 Playwright 浏览器
npx playwright install

# 创建环境变量文件
cp .env.example .env

配置

编辑 .env 文件以配置服务器:

# 服务器配置
PORT=3000
NODE_ENV=development

# 数据库(可选)
MONGODB_URI=mongodb://localhost:27017/uniauto

# Claude 配置(AI 处理需要)
CLAUDE_API_KEY=your_claude_api_key
CLAUDE_MODEL=claude-3-7-sonnet-20240229

Claude API 集成

UniAuto MCP 服务器使用官方 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" }],
});

用法

# 在开发模式下启动服务器
npm run dev

# 在生产模式下启动服务器
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 助手使用的模型上下文协议 (MCP) 兼容。要将其与 Claude 或其他 AI 模型一起使用:

  1. 启动服务器
  2. 向 AI 助手注册 MCP 服务器
  3. AI 现在可以通过 MCP 协议使用自动化功能

Smithery.ai 集成

smithery badge

UniAuto MCP 服务器与 Smithery.ai 无缝集成,可以轻松地与 Claude 3.7 和其他 AI 助手连接:

为了与 AI 助手无缝集成,您可以使用 Smithery.ai:

# 安装 Smithery CLI
npm install -g @smithery/cli

# 将 UniAuto 连接到 Smithery
smithery connect uniauto-mcp-server

# 连接到 AI 助手
smithery connect --assistant claude

连接后,您可以使用 Claude Code、Claude Web、带有 Claude 扩展的 VSCode 或 Cursor 来控制 UniAuto 进行自动化测试。

有关详细说明,请参阅 Smithery 设置指南

AI 助手集成

UniAuto 适用于各种 AI 助手:

测试生成能力

UniAuto MCP 服务器可以自动生成各种框架和风格的测试代码:

  • 多种框架:为 Playwright、Cypress、Jest、Selenium、WebDriverIO 等生成测试
  • 测试风格:支持 BDD、TDD 和其他测试方法
  • 输出格式:JavaScript、TypeScript、Python、Java、C# 和 Ruby
  • 应用程序分析:智能应用程序结构分析,用于上下文感知的测试生成
  • 项目搭建:生成包含配置文件的完整测试项目
  • Claude AI 集成:使用 Claude 3.7 生成高质量、可维护的测试代码
  • MCP 集成:所有测试生成功能都通过模型上下文协议公开

高级测试能力

UniAuto MCP 服务器提供全面的测试能力,不仅仅是生成测试代码:

  • 视觉测试:将页面或元素屏幕截图与具有可配置阈值的基线进行比较
  • 可访问性测试:检查 WCAG 合规性,并提供有关问题和建议修复的详细报告
  • 性能测试:衡量关键的 Web 性能指标,如加载时间、FCP、LCP 和资源
  • 网络跟踪:监控 API 调用,分析响应并验证网络行为
  • 并行执行:同时运行多种测试类型,以减少总执行时间
  • 综合测试套件:结合测试执行和统一报告

有关详细的 API 文档和示例,请参阅 测试生成指南

自修复能力

服务器使用多种策略进行自修复选择器:

  1. 替代选择器存储库
  2. 基于角色的选择器(Playwright 特有)
  3. 更宽松的 CSS 选择器生成
  4. 使用 Playwright 内置功能的视觉元素匹配
  5. 最近的基于文本的元素查找

Playwright 优势

Playwright 为测试自动化提供了几个优势:

  • 跨浏览器支持:适用于 Chromium、Firefox 和 WebKit
  • 现代 Web 支持:更好地处理 Shadow DOM、iframe 和 Web 组件
  • 强大的选择器:基于角色的选择器、基于文本的选择和 CSS/XPath 支持
  • 自动等待:自动等待元素准备就绪后再执行操作
  • 可靠的操作:通过重试和时间管理实现更可靠的元素交互
  • 网络控制:拦截和修改网络请求
  • 无头和有头模式:需要时进行可视化调试

贡献

欢迎贡献!请随时提交拉取请求。

许可证

该项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript