** 编写用例阶段**:
- ⏱️ 耗时 2-3 天手工编写测试用例
- 📉 覆盖率仅 60-70%,边界值和风险场景容易遗漏
- 🔁 重复劳动多,专业度依赖个人经验
** 执行用例阶段**:
- 💻 需要编写 Selenium/Playwright 代码
- 🎬 录制回放工具 UI 变化即失效
- 🔧 维护成本高,技术门槛大
** 管理与协作**:
- 📊 测试进度难以实时跟踪
- 🤝 团队协作缺乏统一平台
- 📈 测试质量难以量化评估
** AI 生成测试用例**:
- ⚡ 10 分钟完成(从 Axure 原型一键生成)
- 🎯 覆盖率 85-95%(AI + RAG 知识库增强)
- 🧠 自动补充边界值和风险场景(+40% 专业度)
- 🎨 智能 UI 文案校验(页面布局与文案自动验证)
** 自然语言执行自动化**:
- 🗣️ 无需编写代码(用中文描述即可执行)
- 🤖 AI 智能元素定位(UI 变化自动适配)
- 📊 实时进度监控(WebSocket 推送 + 自动截图)
- 🎯 多浏览器支持(Chrome、Firefox、Safari)
** 全栈测试管理平台**:
- 📁 多项目版本管理(支持项目分支和版本控制)
- 🔄 AI 批量更新(智能修改相关测试用例)
- 📚 RAG 知识库(团队经验持续积累)
- 📈 多维度统计(测试覆盖率、执行趋势、质量指标)
工作流程:4 步审核 + 3 阶段生成
📤 上传 Axure HTML 文件,AI 深度解析页面结构
🤖 生成需求文档(Markdown)+ UI 文案校验章节
✋ 人工审核修正需求文档(第 1 个审核点)
🔄 阶段 1:AI 智能拆分测试模块(3-6 个功能模块)
✋ 选择要生成的模块(第 2 个审核点)
🎯 阶段 2:AI 生成测试目的(每个模块 2-8 个测试场景)
✋ 选择要生成的测试目的(第 3 个审核点)
✅ 阶段 3:AI 生成测试点 + RAG 知识库增强(每个目的 3-10 个测试点)
✋ 审核/编辑/保存(第 4 个审核点)
💾 一键保存到用例库
核心特性:
- 🎯 智能页面解析:深度分析 Axure 原型结构和交互逻辑
- 🎨 UI 文案校验:自动生成页面布局与文案验证测试点
- 🧠 RAG 知识增强:融入团队历史经验和最佳实践
- 📊 多维度覆盖:功能测试 + 边界值 + 异常场景 + 风险测试
量化效果:
| 指标 | 传统手工 | Sakura AI AI | 提升 |
|---|---|---|---|
| 编写时间 | 2-3 天 | 10-30 分钟 | 20-50x ⚡ |
| 功能覆盖率 | 60-70% | 85-95% | +25-35% |
| UI 文案校验 | 0% | 80-95% | +80-95% 🎨 |
| 边界值覆盖 | 40-60% | 80-95% | +40-55% 🔍 |
| 风险场景识别 | 50-70% | 85-95% | +35-45% 🛡️ |
对比传统自动化方式:
❌ 传统 Selenium/Playwright 代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://example.com/login")
username = driver.find_element(By.XPATH, "//input[@id=
username]")
username.send_keys("admin@test.com")
# ... 数十行复杂代码✅ Sakura AI 自然语言执行:
1. 打开登录页面 https://example.com/login
2. 在用户名输入框填入 admin@test.com
3. 在密码输入框填入 password123
4. 点击登录按钮
5. 验证页面显示"欢迎回来"
技术架构:
自然语言描述
AI 语义理解
🤖 生成 MCP 命令序列
智能元素定位
🎯 Playwright 执行自动化
实时监控反馈
📊 WebSocket 推送进度 + 自动截图
核心优势:
| 维度 | Selenium/Playwright | 录制回放工具 | Sakura AI |
|---|---|---|---|
| 编写方式 | 编写代码 | 录制操作 | 自然语言描述 ✍️ |
| 技术门槛 | 需要编程基础 | 无需编程 | 无需编程 👍 |
| 维护成本 | 中等(需修改选择器) | 极高(UI 变化即失效) | 极低(AI 智能适配) 💰 |
| 灵活性 | 高 | 低(无法修改录制脚本) | 极高 🔧 |
| 元素定位 | 手动写选择器 | 固定坐标/选择器 | AI 智能匹配 🤖 |
| 执行监控 | 需额外开发 | 无 | 实时进度 + 截图 📊 |
四大知识维度:
| 维度 | 说明 | 示例场景 |
|---|---|---|
| 📘 业务规则 | 业务逻辑验证规则 | "订单金额必须 > 0,小数点后最多2位" |
| 📗 测试模式 | 成熟的测试设计模式 | "组合查询边界值测试模板" |
| 📙 历史踩坑 | 团队遇到的易错点 | "库存扣减未考虑并发导致超卖" |
| 📕 风险场景 | 高风险安全测试点 | "支付回调重复通知导致重复扣款" |
工作原理:
用户输入:"生成用户注册的测试用例"
🔍 向量化查询(阿里通义 Embedding 1024 维)
📚 Qdrant 语义检索(相似度阈值 0.5)
📘 业务规则:"密码强度要求8位以上"
📗 测试模式:"表单验证边界值测试"
📙 历史踩坑:"手机号格式验证遗漏"
📕 风险场景:"短信验证码防刷机制"
🎯 注入 AI Prompt 增强上下文
📝 输出专业测试用例
✅ 密码强度边界值测试(7位、8位、特殊字符)
✅ 手机号格式验证测试(+86、空格、字母混入)
✅ 短信验证码防刷测试(同一手机号频繁请求)
核心价值:
| 指标 | 无 RAG | 有 RAG | 提升 |
|---|---|---|---|
| 边界值覆盖率 | 40-60% | 80-95% | +40-55% |
| 风险场景识别 | 50-70% | 85-95% | +35-45% |
| 专业准确性 | 75-85% | 90-98% | +15-20% |
| 团队经验传承 | 0% | 100% | 质的飞跃 |
🏗️ 多项目版本管理系统
- 📁 项目管理:支持多项目/系统并行管理
- 🏷️ 版本控制:每个项目支持多版本分支
- 👥 权限控制:基于角色的访问控制
🔄 AI 批量更新引擎
- 🎯 智能识别:自动识别变更影响范围
- 📝 批量提案:生成批量修改建议
- ✅ 人工审核:支持逐个审核和批量应用
📈 多维度统计分析
- 📊 执行统计:通过率、执行时长、失败趋势
- 🎯 覆盖分析:测试覆盖率、模块分布
- 📈 质量指标:缺陷密度、修复效率
🎨 现代化用户界面
- 💳 多视图展示:卡片视图、表格视图、看板视图、时间线视图
- 🔍 智能筛选:多条件组合筛选和搜索
- 📱 响应式设计:支持桌面端和移动端访问
| 层级 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 框架 | React | 18.3.1 | 现代化前端框架,支持并发特性 |
| 语言 | TypeScript | 5.5.3 | 类型安全的 JavaScript 超集 |
| 样式 | Tailwind CSS | 3.4.1 | 原子化 CSS 框架 |
| 组件库 | Ant Design | 5.26.7 | 企业级 React 组件库 |
| 状态管理 | Zustand | 4.4.7 | 轻量级状态管理库 |
| 路由 | React Router | 6.20.1 | 声明式路由管理 |
| 动画 | Framer Motion | 10.16.16 | 流畅动画效果 |
| 图表 | Recharts | 2.9.3 | React 图表库 |
| 层级 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 运行时 | Node.js | 20.19.0 | JavaScript 运行环境 |
| 框架 | Express | 4.18.0 | 轻量级 Web 框架 |
| 语言 | TypeScript | 5.5.3 | 服务端类型安全 |
| ORM | Prisma | 6.11.1 | 现代化数据库 ORM |
| 数据库 | MySQL | 8.0 | 关系型数据库 |
| 缓存 | Redis | - | 会话和缓存存储 |
| 队列 | Bull | 4.16.5 | Redis 基础的任务队列 |
| 层级 | 技术 | 版本 | 说明 |
|---|---|---|---|
| AI 服务 | OpenRouter | - | 多模型 AI 服务 (GPT-4o/Claude/Gemini) |
| 向量数据库 | Qdrant | - | 高性能向量搜索引擎 |
| Embedding | 阿里通义 | 1024 维 | 中文语义向量生成 |
| 浏览器自动化 | Playwright | 1.56.1 | 跨浏览器自动化测试 |
| 协议 | MCP | 1.0.0 | Model Context Protocol |
| 工具类型 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 构建工具 | Vite | 5.4.2 | 快速前端构建工具 |
| 测试框架 | Jest | 30.0.5 | JavaScript 测试框架 |
| 代码检查 | ESLint | 9.9.1 | 代码质量检查 |
| 容器化 | Docker | 26.1.3 | 应用容器化部署 |
| CI/CD | Jenkins | 2.452.1 | 持续集成部署 |
# 克隆项目
git clone https://github.com/SakuraTechy/sakura-ai.git
# 或
git clone https://gitee.com/SakuraTechy/sakura-ai.git
cd sakura-ai# 1. 环境要求
node -v >= 20.19.0
npm -v >= 10.8.2
# 2. 切换到淘宝 NPM 镜像
npm config set registry https://registry.npmmirror.com
# 3. 安装依赖
npm install
# 5. 复制.env文件,修改数据库配置连接(换成自己的数据库IP地址)
copy .env.example .env
>>> DATABASE_URL=mysql://root:7PhaaEL3REbCabRb@172.19.5.111:3306/sakura_ai
# 6. 启动项目(自动安装依赖、配置环境、启动服务)
npm run start适用场景:
- ✅ CentOS 7 等不支持 Node.js 20+ 的系统
- ✅ 需要快速部署和环境隔离
- ✅ 生产环境标准化部署
为什么选择 Docker 部署?
| 问题 | 传统部署 | Docker 部署 |
|---|---|---|
| 系统兼容性 | CentOS 7 不支持 Node.js 20+ | ✅ 容器内使用 Debian + Node.js 20 |
| 环境配置 | 需手动安装依赖、配置环境 | ✅ 一键启动,环境隔离 |
| 维护成本 | 升级复杂,易出现依赖冲突 | ✅ 镜像更新,回滚简单 |
| 资源管理 | 难以限制资源使用 | ✅ 可配置 CPU/内存限制 |
宿主机配置:
| 组件 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU | 4 核 | 8 核+ |
| 内存 | 8GB | 16GB+ |
| 磁盘 | 50GB | 100GB+ SSD |
| 操作系统 | CentOS 7+ / Ubuntu 18.04+ | CentOS 7+ / Ubuntu 20.04+ |
| Docker | >= 20.10 | 最新版本 |
| Docker Compose | >= 2.0 | 最新版本 |
安装 Docker(Windows 示例):
# 下载使用 Docker Desktop for Windows(推荐)
官网:https://www.docker.com/products/docker-desktop/
阿里云:https://developer.aliyun.com/mirror/docker-toolbox/?spm=a2c6h.25603864.0.0.44cc7677rkW1Bj
# 运行安装程序,安装完成后重启计算机
Docker Desktop Installer.exe
#启动 Docker Desktop,验证安装(在 PowerShell 或 CMD 中执行)
docker --version
docker compose version安装 Docker(CentOS 示例):
# 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加 Docker 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
docker --version
docker compose version安装 Docker(Ubuntu 示例):
# 使用官方脚本一键安装
curl -fsSL https://get.docker.com | sh
# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
docker --version
docker compose version配置环境变量
# 编辑并复制配置文件
cp .env.example .env
# 使用 Docker 默认数据库,配置root密码和sakura_ai密码即可(Docker部署使用)
MYSQL_ROOT_PASSWORD=your_mysql_root_password_here
DB_PASSWORD=your_sakura_ai_db_password_here
# 以下其他配置可选,保持默认即可
# JWT 密钥(随机字符串)
JWT_SECRET=your_random_jwt_secret_key_change_this_in_production
# Qdrant 向量数据库
QDRANT_URL=http://qdrant:6333
# 阿里云 Embedding API
EMBEDDING_PROVIDER=aliyun
EMBEDDING_API_KEY=your_aliyun_api_key
# 默认 AI 模型
DEFAULT_MODEL=openai/gpt-4o
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxxx配置镜像加速
# 修改 Docker 配置文件
Docker Desktop:设置 -> Docker 引擎
windows: %USERPROFILE%\.docker\daemon.json
linux: /etc/docker/daemon.json
macOS: /Users/<username>/.docker/daemon.json
# 添加以下内容
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1panel.live",
"https://hub.rat.dev",
"https://docker.chenby.cn",
"https://dockerpull.org",
"https://dockerhub.icu",
"https://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com",
"https://mirrors.aliyun.com"
]一键启动
# 拉取最新镜像
docker compose -f docker-compose.yml pull
# 启动所有服务
docker compose -f docker-compose.yml up -d
# 查看运行状态
docker compose -f docker-compose.yml ps
# 停止所有服务
docker compose -f docker-compose.yml down
# 重启所有服务
docker compose -f docker-compose.yml restart
# 执行数据库迁移
docker compose -f docker-compose.yml exec sakura-ai npx prisma migrate deploy
# 查看所有服务日志
docker compose -f docker-compose.yml logs -f
# 查看特定服务日志
docker compose -f docker-compose.yml logs -f sakura-ai
docker compose -f docker-compose.yml logs -f mysql
# 进入容器
docker compose exec sakura-ai bash
# 停止并删除容器和数据卷(会清空数据库危险!)
docker compose -f docker-compose.yml down -v
# 查看容器使用情况
docker system df启用 RAG 知识库(Qdrant):
# 启动 Qdrant 服务
docker compose --profile rag up -d
# 验证 Qdrant 运行
curl http://localhost:6333/health
# 访问 Qdrant 管理界面
# http://your-server-ip:6333/dashboard启用 Nginx 反向代理:
# 启动 Nginx 服务
docker compose --profile nginx up -d
# 验证 Nginx 运行
curl http://localhost
# 配置 SSL 证书(可选)
# 将证书文件放到 docker/Debian Linux/ssl/ 目录
# 修改 config/nginx.conf 配置启用 OpenClaw 小龙虾:
# 启动 OpenClaw Gateway 服务
docker compose --profile openclaw --profile nginx up -d
# 卸载 OpenClaw Gateway 服务
docker compose --profile openclaw down更多问题:Docker 部署文档 | 故障排除
| 部署方式 | 前端界面 | API 地址 | 默认账号 |
|---|---|---|---|
| 本地开发 | http://localhost:5173 | http://localhost:3001 | admin / admin |
| Docker 部署 | http://localhost:5173 | http://localhost:3001 | admin / admin |
| Nginx 代理 | http://your-domain.com | http://your-domain.com/api | admin / admin |
【仪表盘】
【用户管理】
【项目管理-版本配置】
【项目管理-账号配置】
【项目管理-服务器配置】
【项目管理-数据库配置】
【AI生成需求文档】
【AI生成需求文档-智能解析】
【AI生成需求文档-在线保存】
【需求文档-在线预览】
【AI生成测试场景用例-选择需求文档】
【AI生成测试场景用例-生成测试场景】
【AI生成测试场景用例-生成测试点】
【AI生成测试场景用例-自动生成】
【AI生成测试场景用例-在线查看】
【AI生成测试场景用例-选择保存】
【手动创建测试场景用例】
【手动编辑测试场景用例】
【手动查看测试场景用例】
【手动执行测试场景用例】
【手动执行测试场景用例-自动更新测试结果】
【手动执行测试场景用例-查看执行日志】
【导入自动化用例-可从功能用例导入自动转换】
【UI自动化列表】
【编辑自动化测试用例】
【UI自动化执行引擎】
【UI自动化执行引擎指南-概述对比】
【UI自动化执行引擎指南-性能对比】
【UI自动化执行引擎指南-功能对比】
【UI自动化执行引擎指南-成本分析】
【UI自动化执行引擎指南-使用建议】
【UI自动化测试-查看执行日志】
【UI自动化测试-查看实时画面】
【UI自动化测试-查看测试证据】
【UI自动化测试-在线查看录屏回放和日志】
【UI自动化测试执行记录】
【创建测试计划】
【功能测试计划-关联用例】
【UI自动化测试计划-关联用例】
【功能测试计划详情】
【UI自动化测试计划详情】
【功能测试计划-执行历史】
【UI自动化测试计划-执行历史】
【功能测试计划-执行详情】
【UI自动化测试计划-执行详情】
【功能测试计划-执行日志】
【UI自动化测试计划-执行日志】
【功能测试计划-统计分析】
【UI自动化测试计划-统计分析】
【测试统计报告】
【测试工厂】
【AI助手】
【LLM大模型配置】
【LLM大模型配置-在线测试连接】
【缓存统计-当AI命中缓存后不消耗Token】
【小龙虾-OpenClaw管理控制面板】
【小龙虾-Web UI页面】
【小龙虾-企业微信多角色协作】

本地开发环境:
# 1. 启动 Qdrant 向量数据库
docker run -d -p 6333:6333 qdrant/qdrant
# 2. 配置环境变量 (.env 文件)
QDRANT_URL=http://localhost:6333
EMBEDDING_PROVIDER=aliyun
EMBEDDING_API_KEY=your_aliyun_api_key
# 3. 重启服务
npm run devDocker 环境:
# 1. 启动 RAG 服务
cd docker/Debian\ Linux/
docker compose --profile rag up -d
# 2. 配置已在 .env 文件中设置
# QDRANT_URL=http://qdrant:6333
# EMBEDDING_PROVIDER=aliyun
# EMBEDDING_API_KEY=your_aliyun_api_key详细安装指南:INSTALLATION.md | Docker 部署文档
功能测试用例 AI 生成器 上传 Axure HTML 生成需求文档
审核修正 生成测试模块 选择模块 生成测试目的
选择目的 生成测试点(RAG 增强) 保存
测试用例管理 选择用例 点击执行 实时监控 查看结果和截图
测试用例管理 AI 批量更新 描述变更需求 审核提案 应用修改
Sakura AI/
src/ # 前端源码
components/ # React 组件
ai-generator/ # AI 生成器组件
common/ # 通用组件
ui/ # UI 组件
pages/ # 页面组件
FunctionalTestCases/ # 功能测试用例页面
KnowledgeManagement/ # 知识库管理
SystemManagement/ # 系统管理
services/ # API 服务客户端
types/ # TypeScript 类型定义
utils/ # 工具函数
server/ # 后端源码
routes/ # API 路由
services/ # 核心业务服务
aiParser.ts # AI 解析器
functionalTestCaseAIService.ts # AI 生成服务
aiBulkUpdateService.ts # AI 批量更新
testExecution.ts # 测试执行服务
knowledgeManagementService.ts # 知识库服务
middleware/ # 中间件
prompts/ # AI Prompt 模板
types/ # 服务端类型定义
utils/ # 服务端工具函数
prisma/ # 数据库模式
schema.prisma # Prisma 数据库模式
docs/ # 项目文档
scripts/ # 构建和部署脚本
tests/ # 测试文件
- 安装指南 - 详细安装步骤和系统要求
- AI 生成器详解 - 从 Axure 到测试用例的完整流程
- RAG 知识库配置 - 向量数据库配置和知识管理
- 自然语言执行原理 - 技术实现详解和最佳实践
- 技术架构 - 系统架构和核心服务
- 配置说明 - 环境变量配置详解
- 故障排除 - 常见问题和解决方案
# 确保 MySQL 服务运行
sudo systemctl start mysql
# 运行数据库迁移
npx prisma migrate deploy
npx prisma generate# 安装浏览器
npx playwright install chromium# 检查 Qdrant 服务状态
curl http://localhost:6333/health
# 重启 Qdrant 容器
docker restart <qdrant_container_id>更多问题:TROUBLESHOOTING.md
欢迎各位小伙伴儿扫描下方二维码,备注 sakura,可探讨技术、提提需求~
加入后,你将会:
- 第一时间收到官方动态
- 第一时间收到官方更新通知
- 第一时间收到官方 Bug 通知
- 和众多大佬互相 (huá shuǐ) 交流 (mō yú)
扫码加微信,邀请入群
官方 QQ 群
官方知识星球
产品需求反馈
产品问卷调查
- 大家可根据自己的使用体验感受,填写在线问卷调查,帮助我们改善产品,谢谢!
- 填写地址:https://jsj.top/f/yCnEjx
欢迎 Star ⭐ / Fork 🍴 / PR 🔧
GNU General Public License v3.0 © Sakura AI Team
查看完整许可:LICENSE
感谢以下项目和团队:
- Anthropic - MCP 协议
- Playwright - 浏览器自动化
- Qdrant - 向量数据库
- React - 前端框架
- 阿里云通义千问 - Embedding API
- OpenRouter - 多模型 AI 服务






