[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-92753":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":18,"hasPages":18,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":20,"readmeContent":21,"aiSummary":22,"trendingCount":16,"starSnapshotCount":16,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},92753,"testhub_platform","chenjigang4167\u002Ftesthub_platform","chenjigang4167","AI-Powered Testing Platform",null,"https:\u002F\u002Fgithub.com\u002Fchenjigang4167\u002Ftesthub_platform","Vue",666,306,9,19,0,48.46,false,"main","2026-07-22 04:02:07","# TestHub 智能测试管理平台\n\n\u003Cdiv align=\"center\">\n\n**基于 AI 驱动的全栈测试管理平台**\n\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.12-blue.svg)](https:\u002F\u002Fwww.python.org\u002F)\n[![Django](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDjango-4.2-green.svg)](https:\u002F\u002Fwww.djangoproject.com\u002F)\n[![Vue](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVue-3.3-brightgreen.svg)](https:\u002F\u002Fvuejs.org\u002F)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-GPL_v3-blue.svg)](LICENSE)\n\n\u003C\u002Fdiv>\n\n## 📖 项目简介\n\nTestHub 是一个功能强大的智能测试管理平台，集成了 **AI 需求分析**、**测试用例管理**、**API 测试**、**UI 自动化测试** 等多个模块，旨在提升测试效率和质量。平台采用 Django + Vue3 技术栈，提供现代化的用户界面和丰富的功能特性。\n\n## ✨ 核心特性\n\n### 🤖 AI 智能化能力\n- **AI 需求分析**: 自动解析需求文档（PDF\u002FWord\u002FTXT），智能提取业务需求\n- **智能测试用例生成**: 基于需求自动生成测试用例，支持多种测试类型\n- **智能助手**: 集成 Dify AI 助手，提供测试咨询和问题解答\n- **多模型支持**: 支持 DeepSeek、通义千问、硅基流动等多种 AI 模型\n- **AI 智能模式**: 基于 Browser-use 的智能浏览器自动化，AI 理解页面并自动完成测试\n\n### 🔐 安全机制\n- **JWT 认证**: 采用企业级 JWT 双 Token 安全机制\n- **自动刷新**: Access Token 过期前自动刷新，无感续期\n- **Token 黑名单**: 登出时自动将 Token 加入黑名单，防止重放攻击\n- **请求队列**: Token 刷新期间请求自动排队等待，确保请求不丢失\n\n### ⚙️ 统一配置中心\n- **环境检测**: 自动检测系统浏览器和 Playwright 环境\n- **驱动管理**: 一键安装和更新浏览器驱动\n- **AI 模型配置**: 统一管理多种 AI 模型的 API 配置\n- **连接测试**: 支持 AI 模型连接测试和验证\n\n### 📋 测试用例管理\n- **完整的用例生命周期管理**: 创建、编辑、版本控制、归档\n- **灵活的用例组织**: 支持项目、版本、标签等多维度分类\n- **详细的用例步骤**: 支持步骤化用例设计，包含前置条件、操作步骤、预期结果\n- **附件和评论**: 支持用例附件上传和团队协作评论\n\n### 🔍 测试用例评审\n- **评审流程管理**: 支持多人评审、评审模板、检查清单\n- **评审状态跟踪**: 待评审、评审中、已通过、已拒绝等状态管理\n- **评审意见记录**: 支持整体意见、用例意见、步骤意见等多层级反馈\n- **评审模板**: 可自定义评审检查清单和默认评审人\n\n### 🌐 API 测试\n- **项目和集合管理**: 支持 HTTP\u002FWebSocket 协议，树形结构组织 API\n- **请求管理**: 支持 GET\u002FPOST\u002FPUT\u002FDELETE\u002FPATCH 等多种 HTTP 方法\n- **环境变量**: 全局和局部环境变量管理，支持变量替换\n- **测试套件**: 批量执行 API 请求，支持断言和执行顺序配置\n- **请求历史**: 完整的请求执行历史记录和结果追踪\n- **定时任务**: 支持定时执行测试套件，邮件\u002FWebhook 通知\n- **测试报告**: 自动生成 Allure 测试报告\n\n### 🖥️ UI 自动化测试（Web）\n- **双引擎支持**: 支持 Selenium 和 Playwright 两种自动化引擎\n- **元素管理**: 元素库管理，支持多种定位策略（ID、XPath、CSS 等）\n- **页面对象模式**: 支持 POM 设计模式，提高脚本可维护性\n- **测试脚本**: 可视化脚本编辑器，支持步骤录制和回放\n- **测试套件**: 批量执行测试脚本，支持多浏览器（Chrome\u002FFirefox\u002FEdge）\n- **执行记录**: 详细的执行日志、截图、视频录制\n- **定时任务**: 支持 Cron 表达式、固定间隔、单次执行\n- **AI 智能模式**:\n  - 基于 Browser-use 框架的智能浏览器自动化\n  - AI 理解页面结构并自动完成测试任务\n  - 支持文本模式（基于 DOM 解析）和视觉模式（基于截图识别）\n  - 支持多种 AI 模型：OpenAI、Anthropic、Google Gemini、DeepSeek、硅基流动等\n  - 智能任务规划和步骤自动生成\n\n### 📱 APP 自动化测试（Android）**新增** ✅ **【已完整实现】**\n- **Airtest 框架**: 基于图像识别的 Android APP 自动化测试\n- **设备管理**: 支持本地模拟器和远程设备，设备资源池管理\n- **设备锁定**: 多用户环境下的设备锁定机制，避免资源冲突\n- **ADB 集成**: 自动发现设备、连接远程设备、设备信息查询\n- **元素管理**: 支持图片元素、坐标元素、区域元素三种定位方式\n- **多分辨率适配**: 不同分辨率下的元素配置管理\n- **组件化编排**: 基础组件定义、自定义组件组合、组件包导入导出\n- **UI Flow**: JSON 格式的 UI 流程编排，支持10+ Airtest动作\n- **变量管理**: 支持 global\u002Flocal\u002Foutputs 作用域，{{variable}} 语法\n- **测试执行**: Celery异步执行 + pytest + Allure 报告生成\n- **执行引擎**: AirtestBase + UiFlowRunner + AppTestExecutor 完整实现\n- **进度追踪**: 实时执行进度、步骤统计、通过率计算\n- **使用统计**: 元素使用次数追踪，优化元素管理\n- **API 完整**: 40+ RESTful API 接口，支持所有功能操作\n- **前端页面**: 7个完整页面（Dashboard\u002F设备\u002F元素\u002F用例\u002F执行记录）\n- **代码编辑器**: Monaco Editor 集成，支持 JSON 语法高亮\n- **图片上传**: 支持元素图片拖拽上传和预览\n- **实时更新**: 执行记录自动刷新，实时进度展示\n\n### 📊 测试执行与报告\n- **测试计划**: 创建测试计划，关联项目、版本和测试用例\n- **测试执行**: 手动和自动化测试执行，实时记录测试结果\n- **执行历史**: 完整的执行历史追踪和结果对比\n- **测试报告**: 多维度数据统计和可视化图表\n- **Allure 集成**: 支持生成专业的 Allure 测试报告\n\n### 🏭 数据工厂\n- **字符工具**（9个功能）: 字符串处理、文本对比、正则表达式测试、字数统计、大小写转换\n- **编码工具**（12个功能）: Base64编解码、时间戳转换、Unicode转换、进制转换、颜色值转换、URL编解码、JWT解码、条形码\u002F二维码生成、图片Base64转换\n- **随机工具**（6个功能）: 随机数、随机字符串、UUID、随机布尔值、随机列表元素\n- **加密工具**（8个功能）: MD5\u002FSHA1\u002FSHA256\u002FSHA512哈希、AES加密解密、HMAC签名\n- **测试数据**（4个功能）: 中文姓名、手机号、邮箱、地址生成\n- **JSON工具**（8个功能）: JSON格式化（树形展示）、JSON压缩、JSON校验、JSONPath查询、JSON对比、JSON转XML\u002FYAML\u002FCSV\n- **Crontab工具**（4个功能）: 生成\u002F解析Crontab表达式、获取下次执行时间、验证表达式\n- **标签系统**: 支持多标签管理，可在接口测试和UI测试中引用带标签的数据\n- **使用记录**: 工具使用历史记录和统计\n- **场景筛选**: 按使用场景（数据生成、格式转换、数据验证、加密解密）筛选工具\n- **数据引用**: 在接口测试（请求参数、断言、前置条件）和UI测试（测试步骤、输入数据、断言）中引用数据工厂数据\n\n### 👥 项目与团队管理\n- **项目管理**: 多项目支持，项目成员和角色管理\n- **版本管理**: 版本规划和测试用例关联\n- **权限控制**: 基于项目的成员角色权限管理\n- **用户配置**: 个性化用户设置和偏好配置\n\n## 🏗️ 技术架构\n\n### 后端技术栈\n- **框架**: Django 4.2 + Django REST Framework\n- **数据库**: MySQL 8.0+ (PyMySQL)\n- **API 文档**: drf-spectacular (Swagger\u002FReDoc)\n- **安全认证**: JWT (rest_framework_simplejwt) + Token 黑名单\n- **AI 集成**:\n  - browser-use: AI 驱动的浏览器自动化\n  - langchain-openai: LLM 集成框架\n  - 多模型支持：OpenAI、Anthropic、Google Gemini、DeepSeek、硅基流动等\n- **自动化测试**: Selenium, Playwright, Allure\n- **HTTP 客户端**: httpx (异步 HTTP)\n- **定时任务**: Django APScheduler\n\n### 前端技术栈\n- **框架**: Vue 3.3 + Composition API\n- **构建工具**: Vite 4.4\n- **UI 组件**: Element Plus 2.3\n- **状态管理**: Pinia 2.1\n- **路由**: Vue Router 4.2\n- **HTTP 客户端**: Axios 1.5\n- **数据可视化**: ECharts 5.4\n- **代码编辑器**: Monaco Editor\n- **其他**: vuedraggable (拖拽), xlsx (Excel), dayjs (日期)\n\n## 📁 项目结构\n\n```\ntesthub_platform\u002F\n├── apps\u002F                           # Django 应用模块\n│   ├── users\u002F                      # 用户管理\n│   ├── projects\u002F                   # 项目管理\n│   ├── testcases\u002F                  # 测试用例管理\n│   ├── testsuites\u002F                 # 测试套件管理\n│   ├── executions\u002F                 # 测试执行管理\n│   ├── data_factory\u002F               # 数据工厂\n│   ├── reports\u002F                    # 测试报告\n│   ├── reviews\u002F                    # 用例评审管理\n│   ├── versions\u002F                   # 版本管理\n│   ├── core\u002F                       # 核心功能模块\n│   │   ├── models.py               # 统一通知配置模型\n│   │   ├── views.py                # 核心功能视图\n│   │   └── management\u002Fcommands\u002F     # 管理命令\n│   │       ├── run_all_scheduled_tasks.py  # 统一定时任务调度器\n│   │       ├── init_locator_strategies.py  # 初始化元素定位策略\n│   │       └── download_webdrivers.py      # 下载浏览器驱动\n│   ├── requirement_analysis\u002F       # AI 需求分析\n│   ├── assistant\u002F                  # 智能助手\n│   ├── api_testing\u002F                # API 测试\n│   └── ui_automation\u002F              # UI 自动化测试\n├── backend\u002F                        # Django 项目配置\n│   ├── settings.py                 # 项目设置\n│   ├── urls.py                     # URL 路由\n│   └── middleware.py               # 中间件\n├── frontend\u002F                       # Vue3 前端\n│   ├── src\u002F\n│   │   ├── api\u002F                    # API 接口\n│   │   ├── components\u002F             # 公共组件\n│   │   ├── views\u002F                  # 页面视图\n│   │   │   ├── auth\u002F               # 登录注册\n│   │   │   ├── projects\u002F           # 项目管理\n│   │   │   ├── testcases\u002F          # 测试用例\n│   │   │   ├── data-factory\u002F       # 数据工厂\n│   │   │   ├── reviews\u002F            # 用例评审\n│   │   │   ├── requirement-analysis\u002F  # 需求分析\n│   │   │   ├── assistant\u002F          # 智能助手\n│   │   │   ├── api-testing\u002F        # API 测试\n│   │   │   ├── ui-automation\u002F      # UI 自动化\n│   │   │   │   ├── ai\u002F             # AI 智能模式\n│   │   │   │   ├── config\u002F         # 配置管理\n│   │   │   │   └── suites\u002F         # 测试套件\n│   │   │   └── configuration\u002F      # 统一配置中心\n│   │   ├── stores\u002F                 # Pinia 状态管理\n│   │   ├── router\u002F                 # 路由配置\n│   │   ├── utils\u002F                  # 工具函数\n│   │   └── assets\u002F                 # 静态资源\n│   └── package.json\n├── media\u002F                          # 媒体文件（上传文件、截图等）\n├── logs\u002F                           # 日志文件\n│   └── scheduler.log              # 统一调度器日志\n├── allure\u002F                         # Allure 测试报告\n├── requirements.txt                # Python 依赖\n└── manage.py                       # Django 管理脚本\n```\n\n## 🚀 快速开始\n\n### 环境要求\n\n- **Python**: 推荐Python3.12,其他版本可能会存在兼容性问题\n- **Node.js**: 18+(开发环境必须安装Node.js用于构建前端项目,生产可不安装)\n- **MySQL**: 8.0+(必须安装MySQL客户端，用于执行数据库迁移等操作)\n- **Java**: 17+ (可选,用于运行浏览器驱动、Allure 报告生成等，否则会生成报告失败)\n- **Redis**: 6.0+ (可选,用于APP自动化测试相关)\n- **浏览器驱动**: ChromeDriver \u002F GeckoDriver (用于 UI 自动化,建议提前下载好)\n\n### 后端部署\n\n1. **克隆项目**\n```bash\ngit clone \u003Crepository-url>\ncd testhub_platform\n```\n\n2. **创建虚拟环境**\n```bash\npython -m venv venv\n# Windows\nvenv\\Scripts\\activate\n# Linux\u002FMac\nsource venv\u002Fbin\u002Factivate\n```\n\n3. **安装依赖**\n```bash\npip install -r requirements.txt\n```\n\n4. **配置环境变量**\n```bash\n# 复制示例配置文件到 .env 文件\n# 按照.env文件模板配置你的数据库连接信息等\ncp .env.example .env\n```\n\n5. **初始化数据库**\n```bash\n# 创建数据库\nmysql -u root -p\nCREATE DATABASE testhub CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nEXIT;\n\n# 创建 migrations 目录（如果不存在）\nmkdir -p apps\u002Ftestcases\u002Fmigrations\necho \"# This file is intentionally left empty\" > apps\u002Ftestcases\u002Fmigrations\u002F__init__.py\n\n# 执行迁移\npython manage.py makemigrations\npython manage.py migrate\n\n# 创建超级用户\npython manage.py createsuperuser\n```\n\n6. **初始化UI自动化测试定位策略**\n```bash\n# 根目录执行\npython manage.py init_locator_strategies\n```\n7. **初始化app自动化组件库**\n```bash\n# 根目录执行\npython manage.py load_component_pack\n```\n\n8. **启动定时任务**\n```bash\n# 启动统一任务调度器(同时管理API和UI模块)\npython manage.py run_all_scheduled_tasks\n```\n\n9. **启动服务**\n```bash\n# 启动 Django 开发服务器\npython manage.py runserver\n```\n10. **启动Celery服务**\n```bash\n# 启动 Celery 开发服务(可选，用于处理APP自动化任务)\ncelery -A backend worker -l info\n```\n\n### 数据工厂模块初始化\n\n数据工厂模块需要创建数据库表：\n\n```bash\n# 创建数据工厂表\npython manage.py makemigrations data_factory\npython manage.py migrate data_factory\n```\n\n**详细使用说明**：请查看 [数据工厂使用说明.md](.\u002Fdocs\u002F数据工厂使用说明.md) 获取完整的功能介绍、使用技巧和最佳实践。\n\n**快速开始指南**：请查看 [数据工厂快速开始.md](.\u002Fdocs\u002F数据工厂快速开始.md) 快速上手数据工厂功能。\n\n### 前端部署\n\n1. **安装依赖**\n```bash\ncd frontend\nnpm install\n```\n\n2. **启动开发服务器**\n```bash\nnpm run dev\n```\n\n3. **构建生产版本**\n```bash\nnpm run build\n```\n\n### 访问应用\n\n- **前端**: http:\u002F\u002Flocalhost:3000\n- **后端 API**: http:\u002F\u002Flocalhost:8000\n- **API 文档**: http:\u002F\u002Flocalhost:8000\u002Fapi\u002Fdocs\u002F\n- **Admin 后台**: http:\u002F\u002Flocalhost:8000\u002Fadmin\u002F\n\n## 📄 文档\n\n- **[更新日志 (CHANGELOG)](.\u002Fdocs\u002FCHANGELOG.md)**: 查看版本更新历史和重要变更\n- **[数据工厂使用说明](.\u002Fdocs\u002F数据工厂使用说明.md)**: 数据工厂功能完整介绍和使用技巧\n- **[数据工厂快速开始](.\u002Fdocs\u002F数据工厂快速开始.md)**: 数据工厂快速上手指南\n- **[数据工厂功能说明](.\u002Fdocs\u002F数据工厂功能说明.md)**: 数据工厂功能详细说明\n- **[数据工厂API接口文档](.\u002Fdocs\u002F数据工厂API接口文档.md)**: 数据工厂 API 接口文档\n- **[UI自动化测试执行说明](.\u002Fdocs\u002FUI自动化测试执行说明.md)**: UI 自动化测试执行指南\n- **[WebDriver驱动管理优化说明](.\u002Fdocs\u002FWebDriver驱动管理优化说明.md)**: WebDriver 驱动管理优化说明\n- **[用例评审管理功能说明](.\u002Fdocs\u002F用例评审管理功能说明.md)**: 用例评审管理功能说明\n- **[问题排查指南](.\u002Fdocs\u002F问题排查指南.md)**: 常见问题排查指南\n\n## 📚 核心功能模块说明\n\n### 1. 核心功能模块 (`core`)\n\n**概述**:\n`core` 模块是跨模块的通用功能模块，提供全局共享的管理命令和统一配置管理。\n\n**管理命令**:\n- `run_all_scheduled_tasks`: 统一定时任务调度器\n  - 同时调度 API 测试和 UI 自动化模块的定时任务\n  - 支持自定义检查间隔（默认60秒）\n  - 支持单次执行模式（`--once`）\n  - 详细日志输出，便于调试和监控\n\n- `init_locator_strategies`: 初始化UI自动化元素定位策略\n  - 创建\u002F更新12种常用元素定位策略\n  - 通用策略：ID, CSS, XPath, name, class, tag\n  - Playwright 专用策略：text, placeholder, role, label, title, test-id\n\n- `download_webdrivers`: 下载浏览器驱动\n  - 支持 Chrome (ChromeDriver)\n  - 支持 Firefox (GeckoDriver)\n  - 支持 Edge (EdgeDriver)\n  - 自动缓存，后续使用更快\n\n**数据模型**:\n- `UnifiedNotificationConfig`: 统一通知配置\n  - 支持企业微信、钉钉、飞书等多种 Webhook 机器人\n  - 每个机器人可独立配置启用状态\n  - 支持 API 测试和 UI 自动化测试模块独立开关\n  - JSON 格式存储多个机器人配置\n\n**API 路由**:\n- `\u002Fapi\u002Fcore\u002Fnotification-configs\u002F`: 统一通知配置管理\n\n**日志文件**:\n- `logs\u002Fscheduler.log`: 统一调度器运行日志\n\n### 2. AI 需求分析模块 (`requirement_analysis`)\n\n**功能**:\n- 上传需求文档（PDF\u002FWord\u002FTXT）\n- AI 自动解析需求文档内容\n- 提取业务需求和功能点\n- 基于需求自动生成测试用例\n- 支持多种 AI 模型配置\n\n**数据模型**:\n- `RequirementDocument`: 需求文档\n- `RequirementAnalysis`: 需求分析记录\n- `BusinessRequirement`: 业务需求\n- `GeneratedTestCase`: 生成的测试用例\n- `AnalysisTask`: 分析任务\n- `AIModelConfig`: AI 模型配置\n\n### 3. 智能助手模块 (`assistant`)\n\n**功能**:\n- 集成 Dify AI 助手\n- 多会话管理\n- 聊天历史记录\n- 测试咨询和问题解答\n\n**数据模型**:\n- `DifyConfig`: Dify API 配置\n- `AssistantSession`: 助手会话\n- `ChatMessage`: 聊天消息\n\n### 4. API 测试模块 (`api_testing`)\n\n**功能**:\n- API 项目和集合管理\n- HTTP\u002FWebSocket 请求管理\n- 环境变量管理\n- 测试套件和自动化执行\n- 请求历史和结果追踪\n- 定时任务和通知\n- Allure 报告生成\n\n**数据模型**:\n- `ApiProject`: API 项目\n- `ApiCollection`: API 集合\n- `ApiRequest`: API 请求\n- `Environment`: 环境变量\n- `TestSuite`: 测试套件\n- `RequestHistory`: 请求历史\n- `ApiScheduledTask`: 定时任务\n- `ApiNotificationConfig`: 通知配置\n\n### 4.5. 数据工厂模块 (`data_factory`)\n\n**功能**:\n- **字符工具**（9个功能）: 去除空格换行、字符串替换、转义反转义、字数统计、文本对比、正则测试、大小写转换、字符串格式化\n- **编码工具**（12个功能）: 生成条形码\u002F二维码、时间戳转换、进制转换、Unicode\u002FASCII转换、颜色值转换、Base64编解码、URL编解码、JWT解码、图片Base64转换\n- **随机工具**（6个功能）: 随机整数\u002F浮点数、随机字符串、UUID生成、随机布尔值、随机列表元素\n- **加密工具**（8个功能）: MD5\u002FSHA1\u002FSHA256\u002FSHA512哈希、AES加密解密、HMAC签名\n- **测试数据**（4个功能）: 生成中文姓名、中国手机号、中国邮箱、中国地址\n- **JSON工具**（8个功能）: JSON格式化（树形展示）、JSON压缩、JSON校验、JSONPath查询、JSON对比、JSON转XML\u002FYAML\u002FCSV\n- **Crontab工具**（4个功能）: 生成\u002F解析Crontab表达式、获取下次执行时间、验证表达式\n- **标签系统**: 支持多标签管理，可在接口测试和UI测试中引用带标签的数据\n- **使用记录**: 工具使用历史记录和统计\n- **场景筛选**: 按使用场景（数据生成、格式转换、数据验证、加密解密）筛选工具\n- **数据引用**: 在接口测试（请求参数、断言、前置条件）和UI测试（测试步骤、输入数据、断言）中引用数据工厂数据\n\n**核心特性**:\n- **51个实用工具**: 覆盖字符处理、编码转换、随机数据、加密解密、测试数据、JSON处理、Crontab管理等多个场景\n- **标签管理**: 每条数据记录可添加多个标签，支持按标签筛选和管理\n- **数据引用**: 在接口测试和UI测试中通过DataFactorySelector组件引用带标签的数据\n- **历史记录**: 完整的工具使用历史，支持按工具分类、工具名称、标签等多维度查询\n- **实时预览**: JSON格式化支持树形展示、展开\u002F折叠、实时预览（300ms防抖）\n- **状态持久化**: JSON格式化的展开\u002F折叠状态自动保存到localStorage\n\n**数据模型**:\n- `DataFactoryRecord`: 数据工厂使用记录\n  - `tool_name`: 工具名称\n  - `tool_category`: 工具分类（string\u002Fencoding\u002Frandom\u002Fencryption\u002Ftest_data\u002Fjson\u002Fcrontab）\n  - `tool_scenario`: 使用场景（data_generate\u002Fformat_convert\u002Fdata_validation\u002Fencrypt）\n  - `input_data`: 输入数据（JSON）\n  - `output_data`: 输出数据（JSON）\n  - `is_saved`: 是否保存\n  - `tags`: 标签（JSON数组）\n  - `created_at`: 创建时间\n  - `updated_at`: 更新时间\n\n**API 路由**:\n- `\u002Fapi\u002Fdata-factory\u002F`: 数据工厂记录管理（CRUD）\n- `\u002Fapi\u002Fdata-factory\u002Fexecute\u002F`: 执行工具\n- `\u002Fapi\u002Fdata-factory\u002Fdownload_static_file\u002F{filename}\u002F`: 下载生成的文件（条形码、二维码等）\n\n**详细使用说明**: 请查看 [数据工厂使用说明.md](.\u002F数据工厂使用说明.md) 获取完整的功能介绍、使用技巧和最佳实践。\n\n### 5. UI 自动化测试模块 (`ui_automation`)\n\n**功能**:\n- 元素库管理（支持多种定位策略）\n- 页面对象模式（POM）\n- 测试脚本编辑和执行\n- 测试套件批量执行\n- 多浏览器支持\n- 执行截图和视频录制\n- 定时任务调度\n- **AI 智能测试模式**:\n  - 基于 Browser-use 框架的智能浏览器自动化\n  - AI 自动理解页面结构并生成测试步骤\n  - 支持文本模式（基于 DOM 解析）和视觉模式（基于截图识别）\n  - 智能任务规划和执行\n  - 执行过程实时日志记录\n\n**核心组件**:\n- `ai_base.py`: Browser-use 基础框架和补丁\n- `ai_agent.py`: AI Agent 实现（BrowserAgent 类）\n- `ai_models.py`: 多 AI 模型统一接口\n\n**数据模型**:\n- `UiProject`: UI 项目\n- `Element`: 元素\n- `ElementGroup`: 元素分组\n- `PageObject`: 页面对象\n- `TestScript`: 测试脚本\n- `TestCase`: 测试用例\n- `TestSuite`: 测试套件\n- `TestExecution`: 测试执行\n- `UiScheduledTask`: 定时任务\n- `AICase`: AI 智能用例\n- `AIIntelligentModeConfig`: AI 智能模式配置\n\n### 6. 统一配置中心模块 (`configuration`)\n\n**功能**:\n- **环境检测**: 自动检测系统已安装的浏览器\n- **驱动管理**: 一键安装 Playwright 浏览器驱动\n- **AI 模型配置**:\n  - 支持多种 AI 提供商：通义千问、DeepSeek、硅基流动、本地模型\n  - 按角色配置：测试用例编写器、测试用例评审员、Browser Use 文本模式\n  - API 密钥、基础 URL、模型名称、参数配置\n  - 连接测试功能\n\n**API 路由**:\n- `\u002Fapi\u002Fui-automation\u002Fconfig\u002Fenvironment\u002F`: 环境配置\n- `\u002Fapi\u002Fui-automation\u002Fconfig\u002Fai-mode\u002F`: AI 智能模式配置\n\n### 7. 测试用例评审模块 (`reviews`)\n\n**功能**:\n- 创建评审任务\n- 分配评审人员\n- 评审意见记录\n- 评审模板管理\n- 评审状态跟踪\n\n**数据模型**:\n- `TestCaseReview`: 测试用例评审\n- `ReviewAssignment`: 评审分配\n- `TestCaseReviewComment`: 评审意见\n- `ReviewTemplate`: 评审模板\n\n### 8. 测试执行模块 (`executions`)\n\n**功能**:\n- 测试计划管理\n- 测试执行记录\n- 执行历史追踪\n- 执行结果统计\n\n**数据模型**:\n- `TestPlan`: 测试计划\n- `TestRun`: 测试执行\n- `TestRunCase`: 测试执行用例\n- `TestRunCaseHistory`: 执行历史\n\n## 🔧 配置说明\n\n### JWT 安全配置\n\n项目采用企业级 JWT 双 Token 安全机制：\n\n**后端配置** (`backend\u002Fsettings.py`):\n```python\nSIMPLE_JWT = {\n    'ACCESS_TOKEN_LIFETIME': timedelta(minutes=30),  # Access Token 30分钟\n    'REFRESH_TOKEN_LIFETIME': timedelta(days=7),     # Refresh Token 7天\n    'ROTATE_REFRESH_TOKENS': True,                   # 刷新时轮换 Refresh Token\n    'BLACKLIST_AFTER_ROTATION': True,                # 旧 Refresh Token 加入黑名单\n    'UPDATE_LAST_LOGIN': True,\n    'ALGORITHM': 'HS256',\n    'AUTH_HEADER_TYPES': ('Bearer',),\n}\n```\n\n**安全特性**:\n- 双 Token 机制：短期 Access Token + 长期 Refresh Token\n- 自动刷新：Token 过期前 5 分钟自动刷新，无感续期\n- Token 黑名单：登出时将 Refresh Token 加入黑名单，防止重放攻击\n- 请求队列：Token 刷新期间的请求自动排队等待\n- 防循环机制：logout 函数包含防循环调用保护\n\n**前端 Token 管理**:\n- Token 存储在 localStorage\n- 请求拦截器自动添加 Bearer Token\n- 响应拦截器处理 401 错误并自动刷新 Token\n\n### AI 智能模式配置\n\n在统一配置中心可以配置多种 AI 模型：\n\n**支持的 AI 提供商**:\n- **OpenAI**: GPT-4、GPT-3.5 等模型\n- **Azure OpenAI**: Azure 托管的 OpenAI 服务\n- **Anthropic**: Claude 系列模型\n- **Google Gemini**: Gemini Pro、Gemini Flash\n- **DeepSeek**: DeepSeek 系列模型\n- **硅基流动**: 聚合多种 AI 模型\n\n**配置角色**:\n- `testcase_writer`: 测试用例编写\n- `testcase_reviewer`: 测试用例评审\n- `browser_use_text`: Browser Use 文本模式（DOM 解析）\n- `browser_use_vision`: Browser Use 视觉模式（截图识别）- 暂未实现\n\n**配置参数**:\n- API Key: API 访问密钥\n- Base URL: API 端点地址（可选）\n- Model Name: 模型名称\n- Temperature: 温度参数（控制随机性）\n- Max Tokens: 最大生成 Token 数\n\n**连接测试**:\n配置完成后可使用\"测试连接\"功能验证配置是否正确。\n\n### AI 需求分析配置\n\n在系统配置中心可以配置多种 AI 模型：\n\n- **DeepSeek**: 用于需求分析和用例生成\n- **通义千问**: 备选 AI 模型\n- **硅基流动**: 备选 AI 模型\n- **自定义模型**: 支持配置自定义 API\n\n### Dify 助手配置\n\n配置 Dify API 以启用智能助手功能：\n\n- API URL: Dify API 端点\n- API Key: Dify API 密钥\n\n### UI 自动化配置\n\n- **执行引擎**: Selenium \u002F Playwright\n- **浏览器**: Chrome \u002F Firefox \u002F Edge\n- **WebDriver**: 自动下载或手动配置驱动路径\n- **运行模式**: 有头模式 \u002F 无头模式\n- **AI 智能模式**:\n  - 文本模式：基于 DOM 解析，快速高效\n  - 视觉模式：基于截图识别，适合复杂页面\n\n### 通知配置\n\n- **邮件通知**: SMTP 配置\n- **Webhook 通知**: 企业微信、钉钉等\n\n## 📊 数据库设计\n\n项目使用 MySQL 数据库，主要表结构包括：\n\n- **用户相关**: `users`, `user_profiles`\n- **项目管理**: `projects`, `project_members`, `versions`\n- **测试用例**: `testcases`, `testcase_steps`, `testcase_attachments`, `testcase_comments`\n- **测试套件**: `testsuites`, `testsuite_cases`\n- **测试执行**: `test_plans`, `test_runs`, `test_run_cases`\n- **用例评审**: `testcase_reviews`, `review_assignments`, `review_comments`\n- **核心配置**: `core_unifiednotificationconfig` - 统一通知配置\n- **需求分析**: `requirement_documents`, `requirement_analyses`, `business_requirements`, `generated_test_cases`\n- **AI 配置**: `ai_model_configs`, `prompt_configs` - AI 模型和提示词配置\n- **智能助手**: `dify_configs`, `assistant_sessions`, `chat_messages`\n- **API 测试**: `api_projects`, `api_collections`, `api_requests`, `api_environments`, `test_suites`, `request_history`, `api_scheduled_tasks`\n- **UI 自动化**: `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`\n- **数据工厂**: `data_factory_record` - 工具使用记录表\n- **JWT 安全**: `blacklisted_token`, `outstanding_token` - Token 黑名单管理\n\n## 🤝 贡献指南\n\n欢迎提交 Issue 和 Pull Request 来帮助改进项目！\n\n1. Fork 本仓库\n2. 创建特性分支 (`git checkout -b feature\u002FAmazingFeature`)\n3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature\u002FAmazingFeature`)\n5. 开启 Pull Request\n\n## 📝 许可证\n\n本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件\n\n## 📧 联系方式\n\n如有问题或建议，欢迎通过 Issue 反馈。\n\n---\n\n\u003Cdiv align=\"center\">\nMade with ❤️ by 大刚（公众号：测试开发实战）\n\u003C\u002Fdiv>","TestHub 是一个基于 AI 驱动的全栈测试管理平台，支持需求智能解析、测试用例自动生成、API 测试、Web\u002FUI 自动化（Selenium\u002FPlaywright）、Android APP 自动化（Airtest）及全流程测试协作。技术上采用 Django + Vue3 架构，集成多源大模型（如 DeepSeek、通义千问、Gemini 等），提供 JWT 安全认证、统一配置中心与 Allure 报告等企业级能力。适用于中大型研发团队开展标准化、智能化的软件质量保障工作，尤其适合需兼顾人工评审、AI 辅助与多端自动化验证的测试场景。",2,"2026-07-10 02:30:22","trending"]