之前发表过多篇《TestHub测试平台开发》的系列文章,有很多小伙伴问能否开源,我当时给出的答案是:暂不开源、后期会考虑。之所以没有选择立即开源,是因为:
对于问题1,我已经将各大模块肉眼可见的bug都修改得差不多了,另外利用休息时间完成了基于Browser-Use框架的“AI智能测试模块”的开发。
对于问题3,我只想说:想、永远都是问题,做、才会有答案!
因此,趁着这个元旦假期的欢快余温,作为新年献礼,我宣布:TestHub测试平台项目正式开源!
话不多说,直接上干货!
一、项目简介
TestHub 是一个一体化测试平台,集成了 AI 需求分析、测试用例管理、API 测试、UI 自动化测试、AI智能测试 等多个模块,旨在提升测试效率和质量。平台采用 Django + Vue3 技术栈,提供现代化的用户界面和丰富的功能特性。
二、核心特性
🤖 AI 智能化能力
🔐 安全机制
⚙️ 统一配置中心
📋 测试用例管理
🔍 测试用例评审
🌐 API 测试
🖥️ UI 自动化测试
🤖 AI 智能模式
📊 测试执行与报告
三、技术架构
1.后端技术栈
2.前端技术栈
四、项目结构
testhub_platform/
├── apps/ # Django 应用模块
│ ├── users/ # 用户管理
│ ├── projects/ # 项目管理
│ ├── testcases/ # 测试用例管理
│ ├── testsuites/ # 测试套件管理
│ ├── executions/ # 测试执行管理
│ ├── reports/ # 测试报告
│ ├── reviews/ # 用例评审管理
│ ├── versions/ # 版本管理
│ ├── requirement_analysis/ # AI 需求分析
│ ├── assistant/ # 智能助手
│ ├── api_testing/ # API 测试
│ └── ui_automation/ # UI 自动化测试
├── backend/ # Django 项目配置
│ ├── settings.py # 项目设置
│ ├── urls.py # URL 路由
│ └── middleware.py # 中间件
├── frontend/ # Vue3 前端
│ ├── src/
│ │ ├── api/ # API 接口
│ │ ├── components/ # 公共组件
│ │ ├── views/ # 页面视图
│ │ │ ├── auth/ # 登录注册
│ │ │ ├── projects/ # 项目管理
│ │ │ ├── testcases/ # 测试用例
│ │ │ ├── reviews/ # 用例评审
│ │ │ ├── requirement-analysis/ # 需求分析
│ │ │ ├── assistant/ # 智能助手
│ │ │ ├── api-testing/ # API 测试
│ │ │ ├── ui-automation/ # UI 自动化
│ │ │ │ ├── ai/ # AI 智能模式
│ │ │ │ ├── config/ # 配置管理
│ │ │ │ └── suites/ # 测试套件
│ │ │ └── configuration/ # 统一配置中心
│ │ ├── stores/ # Pinia 状态管理
│ │ ├── router/ # 路由配置
│ │ ├── utils/ # 工具函数
│ │ └── assets/ # 静态资源
│ └── package.json
├── media/ # 媒体文件(上传文件、截图等)
├── logs/ # 日志文件
├── allure/ # Allure 测试报告
├── requirements.txt # Python 依赖
└── manage.py # Django 管理脚本五、快速开始🚀
1.环境要求
2.后端部署
① 克隆项目
git clone <repository-url>
cd testhub_platform② 创建虚拟环境
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate③ 安装依赖
pip install -r requirements.txt④ 配置环境变量
创建 .env 文件:
# 数据库配置
DB_NAME=testhub
DB_USER=root
DB_PASSWORD=your_password
DB_HOST=localhost
DB_PORT=3306
# Django 配置
SECRET_KEY=your-secret-key-here
DEBUG=True
# 邮件配置(可选)
EMAIL_HOST=smtp.163.com
EMAIL_PORT=465
EMAIL_USE_TLS=True
EMAIL_HOST_USER=your_email@gmail.com
EMAIL_HOST_PASSWORD=your_email_password
DEFAULT_FROM_EMAIL=your_email@gmail.com⑤ 初始化数据库
# 创建数据库
mysql -u root -p
CREATE DATABASE testhub CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
EXIT;
# 创建 migrations 目录(如果不存在)
mkdir -p apps/testcases/migrations
echo "# This file is intentionally left empty" > apps/testcases/migrations/__init__.py
# 执行迁移
python manage.py makemigrations
python manage.py migrate
# 创建超级用户
python manage.py createsuperuser⑥ 启动服务
# 启动 Django 开发服务器
python manage.py runserver3.前端部署
① 安装依赖
cd frontend
npm install② 启动开发服务器
npm run dev③ 构建生产版本
npm run build4.访问应用





六、核心功能模块说明
requirement_analysis)功能:
数据模型:
2. 智能助手模块 (assistant)
功能:
数据模型:
3. API 测试模块 (api_testing)
功能:
数据模型:
4. UI 自动化测试模块 (ui_automation)
功能:
核心组件:
数据模型:
5. 统一配置中心模块 (configuration)
功能:
API 路由:
6. 测试用例评审模块 (reviews)
功能:
数据模型:
7. 测试执行模块 (executions)
功能:
数据模型:
七、配置说明🔧
1.JWT 安全配置
项目采用企业级 JWT 双 Token 安全机制:
后端配置 (backend/settings.py):
SIMPLE_JWT = {
'ACCESS_TOKEN_LIFETIME': timedelta(minutes=30), # Access Token 30分钟
'REFRESH_TOKEN_LIFETIME': timedelta(days=7), # Refresh Token 7天
'ROTATE_REFRESH_TOKENS': True, # 刷新时轮换 Refresh Token
'BLACKLIST_AFTER_ROTATION': True, # 旧 Refresh Token 加入黑名单
'UPDATE_LAST_LOGIN': True,
'ALGORITHM': 'HS256',
'AUTH_HEADER_TYPES': ('Bearer',),
}安全特性:
前端 Token 管理:
2.AI 智能模式配置
在统一配置中心可以配置多种 AI 模型:
支持的 AI 提供商:
配置角色:
配置参数:
连接测试: 配置完成后可使用"测试连接"功能验证配置是否正确。
3.AI 需求分析配置
在系统配置中心可以配置多种 AI 模型:
4.Dify 助手配置
配置 Dify API 以启用智能助手功能:
5.UI 自动化配置
6.通知配置
八、数据库设计
项目使用 MySQL 数据库,主要表结构包括:
users, user_profilesprojects, project_members, versionstestcases, testcase_steps, testcase_attachments, testcase_commentstestsuites, testsuite_casestest_plans, test_runs, test_run_casestestcase_reviews, review_assignments, review_commentsrequirement_documents, requirement_analyses, business_requirements, generated_test_casesai_model_configs, prompt_configs - AI 模型和提示词配置dify_configs, assistant_sessions, chat_messagesapi_projects, api_collections, api_requests, api_environments, test_suites, request_history, api_scheduled_tasksui_projects, ui_elements, element_groups, ui_page_objects, ui_test_scripts, ui_test_cases, ui_test_suites, ui_test_executions, ui_scheduled_tasks, ai_cases, ai_intelligent_mode_configsblacklisted_token, outstanding_token - Token 黑名单管理如果你也在探索 AI + 测试的融合之路,欢迎持续关注本系列。