AI智能测试任务拆解与任务标记优化
基于 AI 驱动的全栈测试管理平台
TestHub 是一个功能强大的智能测试管理平台,集成了 AI 需求分析、测试用例管理、API 测试、UI 自动化测试 等多个模块,旨在提升测试效率和质量。平台采用 Django + Vue3 技术栈,提供现代化的用户界面和丰富的功能特性。
testhub_platform/ ├── apps/ # Django 应用模块 │ ├── users/ # 用户管理 │ ├── projects/ # 项目管理 │ ├── testcases/ # 测试用例管理 │ ├── testsuites/ # 测试套件管理 │ ├── executions/ # 测试执行管理 │ ├── data_factory/ # 数据工厂 │ ├── reports/ # 测试报告 │ ├── reviews/ # 用例评审管理 │ ├── versions/ # 版本管理 │ ├── core/ # 核心功能模块 │ │ ├── models.py # 统一通知配置模型 │ │ ├── views.py # 核心功能视图 │ │ └── management/commands/ # 管理命令 │ │ ├── run_all_scheduled_tasks.py # 统一定时任务调度器 │ │ ├── init_locator_strategies.py # 初始化元素定位策略 │ │ └── download_webdrivers.py # 下载浏览器驱动 │ ├── 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/ # 测试用例 │ │ │ ├── data-factory/ # 数据工厂 │ │ │ ├── reviews/ # 用例评审 │ │ │ ├── requirement-analysis/ # 需求分析 │ │ │ ├── assistant/ # 智能助手 │ │ │ ├── api-testing/ # API 测试 │ │ │ ├── ui-automation/ # UI 自动化 │ │ │ │ ├── ai/ # AI 智能模式 │ │ │ │ ├── config/ # 配置管理 │ │ │ │ └── suites/ # 测试套件 │ │ │ └── configuration/ # 统一配置中心 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── router/ # 路由配置 │ │ ├── utils/ # 工具函数 │ │ └── assets/ # 静态资源 │ └── package.json ├── media/ # 媒体文件(上传文件、截图等) ├── logs/ # 日志文件 │ └── scheduler.log # 统一调度器日志 ├── allure/ # Allure 测试报告 ├── requirements.txt # Python 依赖 └── manage.py # Django 管理脚本
克隆项目
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 文件 # 按照.env文件模板配置你的数据库连接信息等 cp .env.example .env
初始化数据库 ```bash
mysql -u root -p CREATE DATABASE testhub CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; EXIT;
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
6. **初始化UI自动化测试定位策略** ```bash # 根目录执行 python manage.py init_locator_strategies
初始化app自动化组件库
# 根目录执行 python manage.py load_component_pack
启动定时任务
# 启动统一任务调度器(同时管理API和UI模块) python manage.py run_all_scheduled_tasks
启动服务
# 启动 Django 开发服务器 python manage.py runserver
启动Celery服务
# 启动 Celery 开发服务(可选,用于处理APP自动化任务) celery -A backend worker -l info
数据工厂模块需要创建数据库表:
# 创建数据工厂表 python manage.py makemigrations data_factory python manage.py migrate data_factory
详细使用说明:请查看 数据工厂使用说明.md 获取完整的功能介绍、使用技巧和最佳实践。
快速开始指南:请查看 数据工厂快速开始.md 快速上手数据工厂功能。
cd frontend npm install
启动开发服务器
npm run dev
构建生产版本
npm run build
core
概述: core 模块是跨模块的通用功能模块,提供全局共享的管理命令和统一配置管理。
管理命令:
run_all_scheduled_tasks: 统一定时任务调度器
run_all_scheduled_tasks
--once
init_locator_strategies: 初始化UI自动化元素定位策略
init_locator_strategies
download_webdrivers: 下载浏览器驱动
download_webdrivers
数据模型:
UnifiedNotificationConfig
API 路由:
/api/core/notification-configs/
日志文件:
logs/scheduler.log
requirement_analysis
功能:
RequirementDocument
RequirementAnalysis
BusinessRequirement
GeneratedTestCase
AnalysisTask
AIModelConfig
assistant
DifyConfig
AssistantSession
ChatMessage
api_testing
ApiProject
ApiCollection
ApiRequest
Environment
TestSuite
RequestHistory
ApiScheduledTask
ApiNotificationConfig
data_factory
核心特性:
DataFactoryRecord
tool_name
tool_category
tool_scenario
input_data
output_data
is_saved
tags
created_at
updated_at
/api/data-factory/
/api/data-factory/execute/
/api/data-factory/download_static_file/{filename}/
详细使用说明: 请查看 数据工厂使用说明.md 获取完整的功能介绍、使用技巧和最佳实践。
ui_automation
核心组件:
ai_base.py
ai_agent.py
ai_models.py
UiProject
Element
ElementGroup
PageObject
TestScript
TestCase
TestExecution
UiScheduledTask
AICase
AIIntelligentModeConfig
configuration
/api/ui-automation/config/environment/
/api/ui-automation/config/ai-mode/
reviews
TestCaseReview
ReviewAssignment
TestCaseReviewComment
ReviewTemplate
executions
TestPlan
TestRun
TestRunCase
TestRunCaseHistory
项目采用企业级 JWT 双 Token 安全机制:
后端配置 (backend/settings.py):
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 管理:
在统一配置中心可以配置多种 AI 模型:
支持的 AI 提供商:
配置角色:
testcase_writer
testcase_reviewer
browser_use_text
browser_use_vision
配置参数:
连接测试: 配置完成后可使用”测试连接”功能验证配置是否正确。
在系统配置中心可以配置多种 AI 模型:
配置 Dify API 以启用智能助手功能:
项目使用 MySQL 数据库,主要表结构包括:
users
user_profiles
projects
project_members
versions
testcases
testcase_steps
testcase_attachments
testcase_comments
testsuites
testsuite_cases
test_plans
test_runs
test_run_cases
testcase_reviews
review_assignments
review_comments
core_unifiednotificationconfig
requirement_documents
requirement_analyses
business_requirements
generated_test_cases
ai_model_configs
prompt_configs
dify_configs
assistant_sessions
chat_messages
api_projects
api_collections
api_requests
api_environments
test_suites
request_history
api_scheduled_tasks
ui_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_configs
data_factory_record
blacklisted_token
outstanding_token
欢迎提交 Issue 和 Pull Request 来帮助改进项目!
git checkout -b feature/AmazingFeature
git commit -m 'Add some AmazingFeature'
git push origin feature/AmazingFeature
本项目采用 MIT 许可证 - 详见 LICENSE 文件
如有问题或建议,欢迎通过 Issue 反馈。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
TestHub 智能测试管理平台
基于 AI 驱动的全栈测试管理平台
📖 项目简介
TestHub 是一个功能强大的智能测试管理平台,集成了 AI 需求分析、测试用例管理、API 测试、UI 自动化测试 等多个模块,旨在提升测试效率和质量。平台采用 Django + Vue3 技术栈,提供现代化的用户界面和丰富的功能特性。
✨ 核心特性
🤖 AI 智能化能力
🔐 安全机制
⚙️ 统一配置中心
📋 测试用例管理
🔍 测试用例评审
🌐 API 测试
🖥️ UI 自动化测试(Web)
📱 APP 自动化测试(Android)新增 ✅ 【已完整实现】
📊 测试执行与报告
🏭 数据工厂
👥 项目与团队管理
🏗️ 技术架构
后端技术栈
前端技术栈
📁 项目结构
🚀 快速开始
环境要求
后端部署
克隆项目
创建虚拟环境
安装依赖
配置环境变量
初始化数据库 ```bash
创建数据库
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
初始化app自动化组件库
启动定时任务
启动服务
启动Celery服务
数据工厂模块初始化
数据工厂模块需要创建数据库表:
详细使用说明:请查看 数据工厂使用说明.md 获取完整的功能介绍、使用技巧和最佳实践。
快速开始指南:请查看 数据工厂快速开始.md 快速上手数据工厂功能。
前端部署
安装依赖
启动开发服务器
构建生产版本
访问应用
📄 文档
📚 核心功能模块说明
1. 核心功能模块 (
core)概述:
core模块是跨模块的通用功能模块,提供全局共享的管理命令和统一配置管理。管理命令:
run_all_scheduled_tasks: 统一定时任务调度器--once)init_locator_strategies: 初始化UI自动化元素定位策略download_webdrivers: 下载浏览器驱动数据模型:
UnifiedNotificationConfig: 统一通知配置API 路由:
/api/core/notification-configs/: 统一通知配置管理日志文件:
logs/scheduler.log: 统一调度器运行日志2. AI 需求分析模块 (
requirement_analysis)功能:
数据模型:
RequirementDocument: 需求文档RequirementAnalysis: 需求分析记录BusinessRequirement: 业务需求GeneratedTestCase: 生成的测试用例AnalysisTask: 分析任务AIModelConfig: AI 模型配置3. 智能助手模块 (
assistant)功能:
数据模型:
DifyConfig: Dify API 配置AssistantSession: 助手会话ChatMessage: 聊天消息4. API 测试模块 (
api_testing)功能:
数据模型:
ApiProject: API 项目ApiCollection: API 集合ApiRequest: API 请求Environment: 环境变量TestSuite: 测试套件RequestHistory: 请求历史ApiScheduledTask: 定时任务ApiNotificationConfig: 通知配置4.5. 数据工厂模块 (
data_factory)功能:
核心特性:
数据模型:
DataFactoryRecord: 数据工厂使用记录tool_name: 工具名称tool_category: 工具分类(string/encoding/random/encryption/test_data/json/crontab)tool_scenario: 使用场景(data_generate/format_convert/data_validation/encrypt)input_data: 输入数据(JSON)output_data: 输出数据(JSON)is_saved: 是否保存tags: 标签(JSON数组)created_at: 创建时间updated_at: 更新时间API 路由:
/api/data-factory/: 数据工厂记录管理(CRUD)/api/data-factory/execute/: 执行工具/api/data-factory/download_static_file/{filename}/: 下载生成的文件(条形码、二维码等)详细使用说明: 请查看 数据工厂使用说明.md 获取完整的功能介绍、使用技巧和最佳实践。
5. UI 自动化测试模块 (
ui_automation)功能:
核心组件:
ai_base.py: Browser-use 基础框架和补丁ai_agent.py: AI Agent 实现(BrowserAgent 类)ai_models.py: 多 AI 模型统一接口数据模型:
UiProject: UI 项目Element: 元素ElementGroup: 元素分组PageObject: 页面对象TestScript: 测试脚本TestCase: 测试用例TestSuite: 测试套件TestExecution: 测试执行UiScheduledTask: 定时任务AICase: AI 智能用例AIIntelligentModeConfig: AI 智能模式配置6. 统一配置中心模块 (
configuration)功能:
API 路由:
/api/ui-automation/config/environment/: 环境配置/api/ui-automation/config/ai-mode/: AI 智能模式配置7. 测试用例评审模块 (
reviews)功能:
数据模型:
TestCaseReview: 测试用例评审ReviewAssignment: 评审分配TestCaseReviewComment: 评审意见ReviewTemplate: 评审模板8. 测试执行模块 (
executions)功能:
数据模型:
TestPlan: 测试计划TestRun: 测试执行TestRunCase: 测试执行用例TestRunCaseHistory: 执行历史🔧 配置说明
JWT 安全配置
项目采用企业级 JWT 双 Token 安全机制:
后端配置 (
backend/settings.py):安全特性:
前端 Token 管理:
AI 智能模式配置
在统一配置中心可以配置多种 AI 模型:
支持的 AI 提供商:
配置角色:
testcase_writer: 测试用例编写testcase_reviewer: 测试用例评审browser_use_text: Browser Use 文本模式(DOM 解析)browser_use_vision: Browser Use 视觉模式(截图识别)- 暂未实现配置参数:
连接测试: 配置完成后可使用”测试连接”功能验证配置是否正确。
AI 需求分析配置
在系统配置中心可以配置多种 AI 模型:
Dify 助手配置
配置 Dify API 以启用智能助手功能:
UI 自动化配置
通知配置
📊 数据库设计
项目使用 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_commentscore_unifiednotificationconfig- 统一通知配置requirement_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_configsdata_factory_record- 工具使用记录表blacklisted_token,outstanding_token- Token 黑名单管理🤝 贡献指南
欢迎提交 Issue 和 Pull Request 来帮助改进项目!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)📝 许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件
📧 联系方式
如有问题或建议,欢迎通过 Issue 反馈。