项目简介

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快照和元素引用实现精准的网页元素定位和操作。
  • 自愈测试: 修复器代理能够自动诊断并修复失败的测试用例,例如更新过时的选择器或添加等待条件。

安装步骤

本服务器推荐使用自动安装器进行安装,方便快捷。

  1. 克隆仓库:
    git clone https://github.com/learn-automated-testing/selenium_mcp_server.git
    cd selenium_mcp_server
  2. 运行自动安装器 (推荐):
    python3 install.py
    • 此脚本会自动检测操作系统,创建Python虚拟环境,安装所有必要的依赖项,并为Claude Desktop和Cursor等MCP客户端生成配置。
  3. 或者手动安装:
    • 创建并激活虚拟环境:
      • 创建: '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" (如果浏览器会话出现问题,可以强制重启干净的自动化会话)

信息

分类

开发者工具