Token导航 LogoToken导航TokenDH.com
Selenium Selfhealing MCP logo
开发工具stdio官方级别未说明来源级核验

Selenium Selfhealing MCP

MCP Server

一款自动修复Selenium测试定位器的MCP服务器,适用于UI变更时的测试维护。

工具数

4

提示词数

0

GitHub Stars

2

资源数

0
自动化测试PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aiqualitylab

提供方

aiqualitylab

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -i mcp/selenium-selfhealing-mcp

详细介绍

Selenium自愈MCP服务器

一个MCP服务器,当UI发生变化时,它会自动修复损坏的Selenium测试定位器,从而减少测试维护开销。

概述

当web UI更改破坏了您的自动化测试时,此MCP服务器会使用多种回退策略智能地找到替代定位器。它不会立即失败,而是通过文本内容和可见属性搜索元素,返回新的工作定位器以供将来使用。

特性

  • 智能回退:尝试原始CSS选择器,然后进行文本匹配,然后进行可见元素发现
  • 定位器返回:在原件失效时提供新的工作定位器
  • 零配置:适用于Chrome 143的开箱即用
  • 集装箱隔离:在安全的Docker容器中运行
  • AI友好:专为AI助手集成而设计

工具

open

导航到URL。

参数:

  • url (字符串,必填):目标URL

例子:

{
  "url": "https://example.com"
}

退货: 页面标题确认

______________________________________________________________________

click

单击具有自动自愈功能的图元。

参数:

  • locator (字符串,必填):CSS选择器
  • description (字符串,可选):回退搜索的文本描述

例子:

{
  "locator": "#submit-button",
  "description": "login button"
}

退货:

  • 成功:“点击!”或“点击!新定位符:\[新选择器\]”
  • 失败:“即使自我修复也找不到元素”

______________________________________________________________________

type

在具有自动自愈功能的输入字段中键入文本。

参数:

  • locator (字符串,必填):CSS选择器
  • text (字符串,必填):要键入的文本
  • description (字符串,可选):回退搜索的文本描述

例子:

{
  "locator": "#username",
  "text": "user@example.com",
  "description": "username field"
}

退货:

  • 成功:“键入!”或“键入!新定位器:\[新选择器\]”
  • 失败:“即使自我修复也找不到元素”

______________________________________________________________________

screenshot

捕获当前页面的屏幕截图。

参数:

退货: Base64编码的PNG图像

______________________________________________________________________

自我修复是如何工作的

当定位器失败时,服务器会依次尝试三种策略:

  1. 原始CSS选择器:尝试提供的定位器
  2. 文本搜索:搜索可点击元素(链接、按钮)以匹配文本
  3. 可见元素发现:查找具有ID属性的任何可见元素

如果回退成功,服务器将返回新的工作定位器。

安装

Docker(推荐)

docker pull mcp/selenium-selfhealing-mcp

来自源头

git clone https://github.com/aiqualitylab/selenium-selfhealing-mcp.git
cd selenium-selfhealing-mcp
docker build -t selenium-selfhealing-mcp .

用法

使用Claude桌面版

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "selenium": {
      "command": "docker",
      "args": ["run", "-i", "mcp/selenium-selfhealing-mcp"]
    }
  }
}

重新启动Claude Desktop以加载服务器。

与其他MCP客户端

使用stdio运行Docker容器:

docker run -i mcp/selenium-selfhealing-mcp

服务器使用MCP协议通过stdin/stdout进行通信。

示例用法

User: Open example.com and click using CSS #wrong-id with description "more information"

AI: Opened: example.com
    Clicked! NEW LOCATOR: element

服务器通过文本找到搜索按钮并返回工作选择器。

用例

  • 测试维护:UI更改时自动调整测试
  • 探索性测试:让AI通过试验发现正确的定位器
  • 测试迁移:使用损坏的选择器更新旧测试
  • CI/CD弹性:减少用户界面微小变化带来的不稳定测试

需求

  • 码头工人
  • Chrome 143+(包含在容器中)
  • Python 3.11+(包含在容器中)

错误处理

所有工具都返回明确的错误消息:

  • 网络故障返回连接错误
  • 缺少元素返回“找不到元素”消息
  • 无效的URL返回导航错误

会记录错误,但不会使服务器崩溃。

安全

  • 在隔离的Docker容器中运行
  • 没有持久存储凭据
  • Chrome运行时带有安全标志(--no-sandbox, --disable-dev-shm-usage)
  • 除浏览外,无法访问外部网络

局限性

  • 仅限Chrome浏览器(不支持Firefox/Safari)
  • 仅无头模式(无视觉调试)
  • 文本搜索不区分大小写
  • 最多3种回退策略

故障排除

服务器无法启动

  • 确保Docker正在运行
  • 检查端口9222是否未使用
  • 验证容器中的Chrome安装

未找到元素

  • 提供描述性文本 description 参数
  • 单击前等待页面加载
  • 检查元素是否在iframe中(不支持)

ChromeDriver版本不匹配

  • 更新到最新的容器映像
  • Chrome和ChromeDriver版本固定在一起

贡献

问题和拉取请求欢迎访问: https://github.com/aiqualitylab/selenium-selfhealing-mcp

许可证

MIT许可证-请参阅许可证文件

作者

艾质量实验室

更新日志

v1.0.0(2025-12-12)

  • 初始版本
  • 3种策略的基本自我修复
  • Chrome 143支持
  • Docker容器化

目录标签

目录标签

自动化测试PythonClaude本地部署UI测试Selenium自修复测试维护

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP