项目简介
Selenium MCP Server是一个符合Model Context Protocol (MCP) 标准的后端服务,旨在为大型语言模型(LLM)客户端提供网页浏览和自动化操作的能力。它封装了超过40个基于Selenium WebDriver驱动的浏览器自动化工具,并集成了AI测试代理,能够进行智能化的测试规划、代码生成和自我修复。通过这个服务器,您可以让AI像人一样与网页进行交互、执行测试任务并自动修复问题。
主要功能点
- AI测试代理: 包含规划器(Planner)、生成器(Generator)和修复器(Healer)三种AI代理,支持自动化测试工作流,实现测试的智能规划、代码生成和自愈。
- 40+浏览器自动化工具: 提供全面的网页交互功能,包括导航、元素点击、输入文本、鼠标操作、键盘控制、标签页管理、JavaScript执行、文件上传、PDF生成等。
- 纯MCP协议实现: 完全兼容各类MCP客户端(如Claude Desktop、Cursor、Cline等),通过标准化的JSON-RPC协议进行通信。
- Selenium WebDriver后端: 自动管理浏览器驱动,支持Chrome等主流浏览器,提供跨平台兼容性。
- 多框架代码生成: 能够将录制的操作转换为Pytest、Unittest和Robot Framework等多种测试框架的Python测试代码。
- 元素级交互: 利用DOM快照和元素引用实现精准的网页元素定位和操作。
- 自愈测试: 修复器代理能够自动诊断并修复失败的测试用例,例如更新过时的选择器或添加等待条件。
安装步骤
本服务器推荐使用自动安装器进行安装,方便快捷。
- 克隆仓库:
git clone https://github.com/learn-automated-testing/selenium_mcp_server.git cd selenium_mcp_server - 运行自动安装器 (推荐):
python3 install.py- 此脚本会自动检测操作系统,创建Python虚拟环境,安装所有必要的依赖项,并为Claude Desktop和Cursor等MCP客户端生成配置。
- 或者手动安装:
- 创建并激活虚拟环境:
- 创建: 'python3 -m venv venv'
- 激活 (macOS/Linux): 'source venv/bin/activate'
- 激活 (Windows): 'venv\Scripts\activate'
- 安装依赖: 'pip install -r requirements.txt'
- 创建并激活虚拟环境:
服务器配置
MCP客户端需要配置MCP服务器的启动信息。您通常会在MCP客户端的设置界面中找到“MCP Servers”或类似选项,然后添加一个新的服务器配置。
- 服务名称: 建议使用 'selenium-mcp'。
- 启动命令 (Command):
- 如果您通过 'pip install ai-agent-selenium' 安装,可以直接使用命令 'selenium-mcp'。
- 如果您通过 'npm install ai-agent-selenium' 安装,命令是 'npx'。
- 如果您从源代码手动安装并使用了Python虚拟环境,命令是您虚拟环境中Python解释器的绝对路径(例如:'/absolute/path/to/selenium-mcp-server/venv/bin/python')。
- 命令参数 (Arguments):
- 如果您直接使用 'selenium-mcp' 命令,通常无需额外参数。
- 如果您使用 'npx' 作为命令,参数是 'ai-agent-selenium'。
- 如果您使用Python解释器作为命令,参数是 'mcp_server.py'。
- 工作目录 (CWD - Current Working Directory) (如果手动安装需要):
- 如果您手动从源代码安装,需要将工作目录设置为仓库的根目录的绝对路径(例如:'/absolute/path/to/selenium-mcp-server')。
配置完成后,保存设置并重启您的MCP客户端,客户端就会尝试连接并显示可用的Selenium自动化工具。
基本使用方法
连接成功后,您可以通过MCP客户端的AI界面向Selenium MCP Server发送指令,实现各种浏览器自动化和测试任务。以下是一些使用示例:
- 基本导航:
- "Navigate to example.com"
- "Go back to the previous page"
- 页面分析和交互:
- "Capture DOM snapshot for element analysis" (获取页面快照,AI会识别页面上的可交互元素并为其分配引用,例如 '[ref=e5]')
- "Click on the 'Login' button [ref=e5]" (点击指定引用[ref=e5]的登录按钮)
- "Type 'myusername' into the username field [ref=e2]" (向指定输入框输入文本)
- 录制和代码生成:
- "Start recording browser actions" (开始录制您在浏览器中的所有操作)
- "Go to google.com, search for 'selenium', then stop recording" (执行一系列操作)
- "Generate pytest script from recorded actions and save to tests/test_search.py" (从录制的操作生成Pytest脚本并保存)
- AI测试代理:
- "Use the planner agent to create a comprehensive test plan for the e-commerce checkout flow at https://myshop.com" (使用规划器代理自动探索网站并生成详细测试计划)
- "Use the generator agent to create pytest tests from the checkout flow test plan" (使用生成器代理将已批准的测试计划转换为可执行的Pytest代码)
- "Run the checkout tests. If any fail, use the healer agent to fix them" (运行测试,如果失败则使用修复器代理自动诊断并修复问题)
- 会话管理:
- "Reset automation session" (如果浏览器会话出现问题,可以强制重启干净的自动化会话)
信息
分类
开发者工具