内容简介
TestPilot 是一套 前后端分离 的 Web 可视化测试平台
TestPilot
TestPilot 是前后端分离的 Web 可视化测试平台,支持接口、Web UI、App、小程序四类测试用例的可视化编写与执行,同时提供用例管理、执行记录、测试报告、缺陷管理、环境配置、项目权限、即时通讯、AI 辅助等核心能力,开箱即用且支持团队协作。
二、快速上手(3步跑通)
1. 环境准备
- 安装 Python 3.11+(勾选「Add Python to PATH」)、Node.js 18+ LTS(自动带 npm);
- 验证安装:
# 检查Pythonpython --version# 检查Node/npmnode --version && npm --version - 可选依赖(按需装):
- Web UI 测试:安装 Chrome/Edge 浏览器;
- App 测试:本机启动 Appium Server 并连接真机/模拟器。
2. 安装依赖
# 后端依赖(进入backend目录)cd backendpip install -r requirements.txt# Web UI测试需额外执行# 双击 backend/安装Web引擎依赖.bat
# 前端依赖(新开终端,进入frontend目录)cd frontendnpm install3. 启动服务
方式1:Windows 一键启动
双击项目根目录 一键启动.bat,自动启动后端(8001)+ 前端(3000),勿关闭弹出的终端窗口。
方式2:手动启动(全系统通用)
# 后端(终端1)cd backendpython -m uvicorn app.main:app --reload --port 8001
# 前端(终端2)cd frontendnpx vite --port 30004. 访问使用
- 浏览器打开:
http://localhost:3000(必用前端地址,勿直接访问8001); - 默认账号:
admin / admin123,登录后立即修改密码; - 核心流程:新建项目 → 配置环境 → 编写用例 → 执行 → 查看报告/缺陷。
三、核心功能
| 模块 | 核心能力 |
|---|---|
| 用例管理 | 四类测试用例可视化编写、分组/筛选、AI 生成用例(支持接口/Web/App/小程序) |
| 执行与日志 | 单条/批量执行、执行记录追溯、日志筛选/下载、AI 分析执行失败原因 |
| 测试报告 | 多维度统计、Allure 报告、AI 分析报告、支持导出 |
| 缺陷管理 | 手动/AI 生成缺陷、指派流转、Jira 集成、操作日志 |
| 环境配置 | 多环境隔离、变量/公共请求头({{变量名}} 引用) |
| 团队协作 | 项目权限、用户管理、即时通讯(私聊/群聊/@提及/文件分享) |
| AI 辅助 | AI 答疑、日志/报告分析、生成用例/缺陷,支持多厂商模型(OpenAI/通义等) |
四、部署方案
1. 本地/局域网部署(临时使用)
- 后端启动时监听局域网:
uvicorn app.main:app --host 0.0.0.0 --port 8001; - 前端启动时监听局域网:
npx vite --port 3000 --host 0.0.0.0; - 同事访问:
http://你的局域网IP:3000(放行 3000/8001 端口)。
2. 服务器部署(生产/团队使用)
核心思路
前端打包为静态文件(npm run build),Nginx 托管并反向代理 /api//ws 到后端,后端以 systemd 常驻运行。
关键步骤(Linux 示例)
# 1. 构建前端(生成dist目录)cd frontend && npm run build
# 2. 后端做成系统服务(开机自启)sudo nano /etc/systemd/system/testpilot.service# 粘贴以下内容(替换项目路径)[Unit]Description=TestPilot BackendAfter=network.target[Service]Type=simpleWorkingDirectory=/opt/testtool/backendExecStart=/opt/testtool/backend/venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8001Restart=always[Install]WantedBy=multi-user.target
# 3. 启用服务sudo systemctl daemon-reload && sudo systemctl enable --now testpilot
# 4. Nginx配置(反向代理+托管前端)sudo nano /etc/nginx/sites-available/testpilot# 核心配置(替换域名/IP、dist路径)server { listen 80; server_name 你的域名/服务器IP; # 前端静态文件 location / { root /var/www/testpilot/dist; try_files $uri $uri/ /index.html; } # 后端API代理 location /api/ { proxy_pass http://127.0.0.1:8001; } # WebSocket(实时通知) location /ws { proxy_pass http://127.0.0.1:8001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }}
# 5. 启用Nginx配置sudo ln -sf /etc/nginx/sites-available/testpilot /etc/nginx/sites-enabled/sudo nginx -t && sudo systemctl reload nginx3. Docker 一键部署(推荐)
# 设置JWT密钥(生产必做)export JWT_SECRET=$(python3 -c "import secrets; print(secrets.token_urlsafe(48))")# 构建并启动docker compose up -d --build# 访问:http://localhost五、常见问题
- 启动闪退/访问失败:检查 Python/Node 是否加入 PATH,确保 3000/8001 端口未被占用(可双击
backend/释放8001端口.bat); - Web UI 驱动报错:清除驱动缓存(双击
backend/清除浏览器驱动缓存.bat),或手动指定驱动路径(在 backend 目录新建.edge_driver_path/.chrome_driver_path,写入驱动完整路径); - AI 功能提示未配置:管理员登录 → 系统设置 → AI 模型,填写提供商/模型名称/API Key(可选「模拟演示」免 Key);
- 服务器访问不通:检查安全组放行 80/443 端口,确认 Nginx/TestPilot 服务正常运行。
六、技术栈
| 端侧 | 核心技术 |
|---|---|
| 前端 | React 18 + TypeScript + AntD 5 + Vite |
| 后端 | Python 3.11 + FastAPI + SQLAlchemy 2.0 + Uvicorn |
| 执行引擎 | 接口:httpx;Web UI:Selenium;App:Appium |
| 数据库 | 默认 SQLite(单文件),支持 MySQL/PostgreSQL |
七、开源说明
- 协议:MIT 开源(可自由使用/修改/分发);
- 核心扩展:支持新增测试类型、切换数据库、调整限流规则、集成自定义 AI 模型。



讨论区
围绕内容补充经验、提出问题,也可以直接回复其他用户。