项目简介

VibeShift 是一个基于 Model Context Protocol (MCP) 构建的服务器端应用,旨在将 Web 测试工作流无缝集成到 AI 编码助手(如 GitHub Copilot, Cursor 等)中。通过标准化接口,它允许 AI 助手使用自然语言自动化 Web 测试的录制、执行、发现和回归测试,并提供静态代码安全扫描能力。

主要功能点

  • MCP 集成: 与支持 MCP 协议的 AI 编码助手无缝连接。
  • AI 辅助测试录制: 根据自然语言描述,自动与浏览器交互(使用 Playwright)生成可重复的测试脚本。
  • 确定性测试执行: 使用 Playwright 准确执行已录制的测试脚本,进行回归测试。
  • AI 驱动测试发现: 爬取网站,分析页面内容,由 LLM 建议潜在的测试步骤。
  • 自我修复: 支持在元素定位器失效时自动尝试修复现有测试。
  • UI 测试和视觉回归: 支持复杂的 UI 验证和基于像素差异/视觉 LLM 的视觉回归测试。
  • 安全扫描: 通过 Semgrep 对代码库进行静态安全分析。
  • 自动化反馈: 将测试执行结果、错误、截图、控制台日志等信息返回给 AI 助手。

安装步骤

  1. 确保环境满足先决条件:

    • 安装 Python 3.10 或更高版本。
    • 具备访问任何 LLM(大型语言模型)的权限(例如 Gemini 2.0 Flash)。
    • 安装 MCP 命令行工具:'pip install mcp[cli]'
    • 安装 Playwright 浏览器:'playwright install --with-deps'
  2. 克隆仓库:

    git clone <仓库URL>
    cd VibeShift # 进入项目目录
  3. 创建并激活虚拟环境 (推荐):

    python -m venv venv
    source venv/bin/activate # Linux/macOS
    # venv\Scripts\activate # Windows
  4. 安装依赖:

    pip install -r requirements.txt
  5. 安装 Playwright 浏览器 (如果跳过了步骤 1):

    playwright install --with-deps

服务器配置

为了让您的 MCP 客户端(AI 编码助手)能够连接和使用 VibeShift 服务器,您需要在客户端的 MCP 配置文件(通常是一个 JSON 文件)中添加服务器信息。请参考您的 AI 助手的文档查找此配置文件位置。

以下是一个配置示例,您需要将其添加到 'mcpServers' 部分:

{
  "mcpServers": {
    "Web-QA": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/cloned_repo",
        "run",
        "mcp_server.py"
      ]
    }
    // 可以有其他 MCP 服务器配置
  },
  // 其他 MCP 客户端配置
}

配置说明:

  • '"Web-QA"': 这是您为该服务器指定的一个友好名称,将在客户端中显示。您可以自由命名。
  • '"command"': 启动服务器的可执行命令。'uv' 是一个用于运行 Python 应用的工具,本项目推荐使用 'uv'。
  • '"args"': 传递给 'command' 的参数列表。
    • '"--directory", "path/to/cloned_repo"': 指定运行命令的工作目录为您的 VibeShift 项目克隆路径。请将 "path/to/cloned_repo" 替换为您实际克隆 VibeShift 仓库的绝对或相对路径。
    • '"run", "mcp_server.py"': 指定 'uv' 运行项目根目录下的 'mcp_server.py' 文件,即 MCP 服务器的入口文件。

配置完成后,启动您的 MCP 客户端(AI 编码助手),它应该能够检测到并连接到 VibeShift MCP 服务器。

注意: 您还需要配置 '.env' 文件来提供 LLM API 密钥等信息(参考 README 中的 "Configuration" 部分)。

基本使用方法

一旦服务器配置并运行成功,您就可以直接在您的 MCP 客户端(AI 编码助手)中使用自然语言与 VibeShift 服务器交互,调用其提供的功能(工具)。

示例指令:

  • 录制新测试: 'Record a test: go to https://practicetestautomation.com/practice-test-login/, type 'student' into the username field, type 'Password123' into the password field, click the submit button, and verify the text 'Congratulations student' is visible.'
  • 执行现有测试: 'Run the regression test output/test_practice_test_login_YYYYMMDD_HHMMSS.json' (请替换为实际生成的文件名)
  • 发现潜在测试步骤: 'Discover potential test steps starting from https://practicetestautomation.com/practice/'
  • 列出已录制测试: 'List the available recorded web tests in the current project directory.'
  • 运行安全扫描: 'Run a security scan on the current project directory.'

服务器将处理这些请求,执行相应的 Web 测试或扫描任务,并将结果(成功/失败状态、输出文件路径、错误信息等)通过 MCP 返回给您的 AI 助手进行展示。

信息

分类

开发者工具