项目简介

VibeCheck 是一个基于 Model Context Protocol (MCP) 构建的 AI 驱动的网页测试代理。它旨在通过与 AI 编码助手(如 GitHub Copilot, Cursor 等)集成,使用自然语言命令自动化执行网页测试的记录、执行和发现任务,提高开发者的测试效率。

主要功能点

  • 与AI编码助手集成 (MCP):通过标准的MCP协议,你的AI助手可以直接调用 VibeCheck 的测试功能。
  • AI辅助测试录制:根据自然语言描述,AI会自动操作浏览器(使用 Playwright)录制测试步骤并生成可重复执行的测试脚本(JSON格式)。
  • 确定性测试执行:可靠地运行之前录制的JSON测试脚本,用于回归测试。
  • AI驱动的测试发现:爬取网站,分析页面内容,并由大型语言模型 (LLM) 建议潜在的测试步骤。
  • 自动化反馈:将测试执行结果(包括成功/失败状态、截图、日志等)反馈给AI助手。
  • 自愈能力:在测试执行过程中,如果遇到因元素选择器变化导致的失败,AI可以尝试自动修复测试步骤。
  • 支持UI测试:支持Playwright原生不支持的UI断言,例如检查文本是否溢出等。

安装步骤

  1. 克隆仓库
    git clone <repository-url> # 将 <repository-url> 替换为 VibeCheck 仓库的实际 URL
    cd VibeCheck # 进入克隆的仓库目录
  2. 创建并激活Python虚拟环境(推荐)
    python -m venv venv
    source venv/bin/activate # Linux/macOS 用户
    # venv\Scripts\activate # Windows 用户
  3. 安装项目依赖
    pip install -r requirements.txt
  4. 安装 Playwright 浏览器
    playwright install --with-deps # 安装必要的浏览器和操作系统依赖

配置 LLM API Key

  1. 在项目根目录将 '.env.example' 文件重命名为 '.env'。
  2. 编辑 '.env' 文件,添加你的 LLM API Key:
    # .env
    LLM_API_KEY="YOUR_LLM_API_KEY"
    # 可以根据需要配置其他LLM参数,例如 LLM_BASE_URL, LLM_MODEL 等
    • 将 'YOUR_LLM_API_KEY' 替换为你的实际API Key。

MCP 服务器配置(供MCP客户端使用)

你需要将以下配置信息添加到你的 MCP 客户端(如 AI 编码助手)的 MCP 配置中。具体的配置方式请参考你的 MCP 客户端文档。

这是一个示例 MCP 配置段,用于告诉客户端如何启动并连接到 VibeCheck 的 MCP 服务器:

{
  "mcpServers": {
    "Web-QA":{ // 服务器在客户端中显示的名称,你可以自定义
      "command": "uv", // 用于启动VibeCheck服务器的命令,根据你的Python环境管理器可能需要改为 "python", "pipenv", "poetry" 等
      "args": [ // 传递给启动命令的参数
        "--directory",
        "path/to/cloned_repo", // **重要:将此路径替换为你克隆 VibeCheck 仓库的实际文件系统路径**
        "run",
        "mcp_server.py" // 启动 VibeCheck 的 MCP 服务器主文件
      ]
    }
  }
}

将此配置添加到你的MCP客户端配置文件后,你的客户端就可以通过 'Web-QA' 这个名称来识别和连接到 VibeCheck 服务器,并调用其提供的功能。请确保在客户端尝试连接时,VibeCheck 服务器进程正在运行(通过上述 'command' 和 'args' 配置启动)。

基本使用方法

通过配置好 MCP 服务器的 AI 编码助手与 VibeCheck 代理进行交互。使用自然语言向你的 AI 助手发出指令,例如:

  • 录制测试

    "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." (AI助手会调用 VibeCheck 代理执行录制,并将测试脚本保存到 'output/' 目录下)

  • 执行测试

    "Run the regression test 'output/test_practice_test_login_20231105_103000.json'" (AI助手会调用 VibeCheck 代理执行指定的测试文件,并将执行结果(PASS/FAIL)反馈给你)

  • 发现测试步骤

    "Discover potential test steps starting from https://practicetestautomation.com/practice/" (AI助手会调用 VibeCheck 代理爬取网站并建议测试步骤)

  • 列出已录制测试

    "List the available recorded web tests." (AI助手会调用 VibeCheck 代理列出 'output/' 目录下的测试文件)

信息

分类

开发者工具