项目简介
TestPilot-AI是一个基于AI的QA(质量保证)副驾工具,利用Model Context Protocol (MCP)和大型语言模型(LLMs),将用户故事转化为生产就绪的测试套件。它可以生成手动测试用例,并将它们自动化为WebDriverIO (WDIO) 规格代码。
主要功能点
- 用户故事转测试规格: 输入网页URL和用户故事描述,即可生成详细的冒烟(Smoke)和回归(Regression)测试用例。
- 手动测试用例生成: 自动创建格式清晰的Markdown手动测试用例文件。
- 批量自动化: 将特定用户故事文件夹下的所有手动测试用例,根据WebDriverIO的Page Object Model规范,批量转换为TypeScript自动测试代码。
- 智能元素定位: 在测试执行过程中学习并使用真实的元素选择器,提高测试代码的稳定性和可维护性。
安装步骤
- 克隆仓库:
git clone https://github.com/usamaJ17/TestPilot-AI.git cd TestPilot-AI - 配置环境变量:
- 将 '.env.example' 文件重命名为 '.env'。
- 编辑 '.env' 文件,填入您的API Key(如有需要)以及存放手动测试用例和WebDriverIO项目的本地文件夹的绝对路径。
- 安装Python依赖:
- 安装'uv' (推荐的Python包管理器)。
- 创建并激活Python虚拟环境:'uv venv' 然后 'source .venv/bin/activate' (Windows下使用 '.venv\Scripts\activate')。
- 安装项目依赖:'uv pip install -r requirements.txt'。
- 安装Node.js依赖 (MCP服务器):
- 确保已安装Node.js。
- 在TestPilot-AI项目目录下安装所需的MCP服务器(例如Playwright MCP和Filesystem MCP):
请注意,这些依赖的MCP服务器本身也需要被启动并可供此TestPilot-AI服务器或客户端访问。npm install @playwright/mcp @modelcontextprotocol/servers
服务器配置
此应用作为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),生成测试用例文件和自动化代码文件,并通过客户端返回结果或状态通知。
信息
分类
开发者工具