项目简介

TestPilot-AI是一个基于AI的QA(质量保证)副驾工具,利用Model Context Protocol (MCP)和大型语言模型(LLMs),将用户故事转化为生产就绪的测试套件。它可以生成手动测试用例,并将它们自动化为WebDriverIO (WDIO) 规格代码。

主要功能点

  • 用户故事转测试规格: 输入网页URL和用户故事描述,即可生成详细的冒烟(Smoke)和回归(Regression)测试用例。
  • 手动测试用例生成: 自动创建格式清晰的Markdown手动测试用例文件。
  • 批量自动化: 将特定用户故事文件夹下的所有手动测试用例,根据WebDriverIO的Page Object Model规范,批量转换为TypeScript自动测试代码。
  • 智能元素定位: 在测试执行过程中学习并使用真实的元素选择器,提高测试代码的稳定性和可维护性。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/usamaJ17/TestPilot-AI.git
    cd TestPilot-AI
  2. 配置环境变量:
    • 将 '.env.example' 文件重命名为 '.env'。
    • 编辑 '.env' 文件,填入您的API Key(如有需要)以及存放手动测试用例和WebDriverIO项目的本地文件夹的绝对路径。
  3. 安装Python依赖:
    • 安装'uv' (推荐的Python包管理器)。
    • 创建并激活Python虚拟环境:'uv venv' 然后 'source .venv/bin/activate' (Windows下使用 '.venv\Scripts\activate')。
    • 安装项目依赖:'uv pip install -r requirements.txt'。
  4. 安装Node.js依赖 (MCP服务器):
    • 确保已安装Node.js。
    • 在TestPilot-AI项目目录下安装所需的MCP服务器(例如Playwright MCP和Filesystem MCP):
      npm install @playwright/mcp @modelcontextprotocol/servers
      请注意,这些依赖的MCP服务器本身也需要被启动并可供此TestPilot-AI服务器或客户端访问。

服务器配置

此应用作为MCP服务器运行,需要被兼容的MCP客户端连接。MCP客户端需要配置服务器的启动命令等信息,通常在客户端的配置文件中指定。以下是一个可能的JSON配置示例,您需要将其添加到您的MCP客户端配置中,并根据您的实际环境调整路径:

{
  "servers": [
    {
      "name": "TestPilotAI",
      "command": "uv",
      "args": ["run", "main.py"],
      "workingDirectory": "/path/to/TestPilot-AI",
      "isSessionManager": true,
      "protocols": ["stdio"]
    }
    // 您还需要在此处或客户端可访问的地方配置 Playwright MCP 和 Filesystem MCP 等依赖服务器
  ]
}
  • 'name': 给服务器起一个易于识别的名称。
  • 'command': 启动服务器进程的命令,使用 'uv run main.py' 命令启动应用。
  • 'args': 传递给命令的参数。
  • 'workingDirectory': 服务器进程的工作目录,应指向您系统中TestPilot-AI项目的根目录。
  • 'isSessionManager': 表明该服务器是否负责管理客户端会话(取决于FastAgent框架的实现)。
  • 'protocols': 支持的通信协议,通常为 'stdio'。

请注意,此配置仅为示例,具体需根据您的MCP客户端要求进行调整。同时,TestPilot-AI依赖于Playwright MCP和Filesystem MCP,这些也需要作为独立的MCP服务器启动并配置供TestPilot-AI或客户端调用。

基本使用方法

在您的MCP客户端中配置并连接到TestPilot-AI服务器。连接成功后,客户端即可通过发送特定的Prompt(指令)与服务器交互,触发不同的Agent(功能)。根据项目README中的说明,基本交互模式如下:

  • 生成手动测试用例: 在客户端发送类似 'navigate to URL : [您的页面URL] , make manual test cases for [您想测试的部分]' 的指令。
  • 生成单个自动化测试代码: 在客户端发送类似 'story_id is [用户故事文件夹名称], I wanted to create automated test spec for [regression 或 smoke] test with ID [您的测试ID,如 REG_001]' 的指令。
  • 批量生成自动化测试代码: 在客户端发送类似 'story_id is [用户故事文件夹名称], I wanted to create automated test spec for [regression 或 smoke] test with IDs [测试ID列表,用逗号分隔,如 REG_01, REG_02]' 的指令。

服务器将接收并处理这些指令,调用相应的Agent,执行浏览器操作(通过Playwright MCP)和文件操作(通过Filesystem MCP),生成测试用例文件和自动化代码文件,并通过客户端返回结果或状态通知。

信息

分类

开发者工具