mcpField
U
UniAuto MCP Server

UniAuto MCP Server

本地服务
github.com/samuelvinay91开发工具419 周前更新

关于 UniAuto MCP Server

UniAuto MCP Server 面向 Web 和桌面应用测试,结合 Playwright、视觉匹配与 AI 测试生成。它还提供选择器自修复、测试管理及多类测试能力。

主要功能

  1. 01自动化 Web 与桌面测试
  2. 02通过多种策略修复选择器
  3. 03生成多框架测试代码
  4. 04视觉、无障碍与性能测试
  5. 05网络跟踪及测试用例管理

适用场景

  1. 01自动化跨浏览器 Web 测试
  2. 02维护容易因界面变化失效的测试
  3. 03生成并运行应用测试套件
  4. 04检查页面视觉、无障碍和性能

MCP 相关

该 MCP 服务向 AI 助手开放自动化操作和测试生成能力,并提供兼容 MCP 的命令执行接口。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"uniauto": {
"command": "npx",
"args": [
"-y",
"playwright"
]
}
}
}
启动命令npx -y playwright

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmplaywright

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MseeP.ai 安全评估徽章

UniAuto MCP 服务

UniAuto 标志

smithery 徽章

用于 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 模型配合使用:

  1. 启动服务
  2. 将 MCP 服务注册到 AI 助手
  3. AI 现在可以通过 MCP 协议使用自动化功能
Smithery.ai 集成

smithery badge

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 文档和示例的详细信息,请参阅测试生成指南。

自修复能力

该服务使用多种策略实现选择器自修复:

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

Playwright 的优势

Playwright 为测试自动化带来了多项优势:

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

贡献

欢迎贡献!欢迎提交 Pull Request。

许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。