Skip to content
forked from kakawaa/test_flow

从原型 10 分钟生成测试用例,用自然语言执行 UI 自动化 | AI 驱动的企业级测试平台,支持 RAG 知识库增强

License

Notifications You must be signed in to change notification settings

rocLv/test_flow

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TestFlow

从 Axure 原型 10 分钟生成测试用例,用自然语言执行 UI 自动化 🚀

Version License Node

快速开始 · 功能特性 · 文档 · 问题反馈


💡 为什么选择 TestFlow?

传统测试的痛点

① 编写用例阶段

  • ⏱️ 耗时 2-3 天手工编写
  • 📉 覆盖率仅 60-70%
  • 🔁 易错点反复遗漏(边界值、风险场景)

② 执行用例阶段

  • 💻 需要编写代码(Selenium/Playwright)
  • 🎬 或使用录制回放(UI 变化即失效)
  • 🔧 维护成本极高

TestFlow 的解决方案

① AI 编写用例

  • 10 分钟完成(从 Axure 原型一键生成)
  • 🎯 覆盖率 85-95%(AI + RAG 知识库增强)
  • 🧠 自动补充边界值和风险场景(+40% 专业度)

② 自然语言执行

  • 🗣️ 无需编写代码(写 "点击登录按钮" 即可执行)
  • 🤖 AI 智能元素定位(UI 变化自动适配)
  • 📊 实时进度监控(WebSocket 推送 + 自动截图)

✨ 三大核心创新

1️⃣ 🎨 AI 测试用例生成(Axure → 测试用例)

从原型文件到测试用例,效率提升 20-50 倍

工作流程:2 步审核 + 3 阶段生成

📤 上传 Axure HTML 文件
   ↓ AI 深度解析
🤖 生成需求文档(Markdown)
   ↓
✋ 人工审核修正(第 1 个审核点)
   ↓
🔄 阶段 1:AI 拆分测试模块(3-6 个模块)
   ↓
✋ 选择要生成的模块(第 2 个审核点)
   ↓
🎯 阶段 2:AI 生成测试目的(每个模块 2-8 个测试目的)
   ↓
✋ 选择要生成的测试目的(第 3 个审核点)
   ↓
✅ 阶段 3:AI 生成测试点 + RAG 知识库增强(每个目的 3-10 个测试点)
   ↓
✋ 审核/编辑/保存(第 4 个审核点)
   ↓
💾 一键保存到用例库

核心优势

指标 传统手工 TestFlow AI 提升
编写时间 2-3 天 10-30 分钟 20-50x
功能覆盖率 60-70% 85-95% +25-35%
边界值覆盖 40-60% 80-95% +40-55% 🔍
风险场景识别 50-70% 85-95% +35-45% 🛡️

查看详细文档


2️⃣ 🧠 RAG 知识库增强(向量数据库)

让 AI 从四个维度记住团队的测试经验,避免重复踩坑。

四大知识维度

维度 说明 示例
📘 业务规则 常见业务逻辑和验证规则 "订单金额必须 > 0,小数点后最多2位"
📗 测试模式 成熟的测试设计模式 "组合查询边界值测试模板"
📙 历史踩坑 团队遇到的易错点和缺陷 "库存扣减未考虑并发导致超卖"
📕 风险场景 高风险和安全相关测试 "支付回调重复通知导致重复扣款"

工作原理

用户需求:"生成订单创建的测试用例"
   ↓
🔍 向量化查询(阿里通义 Embedding 1024 维)
   ↓
📚 Qdrant 语义检索(相似度 ≥ 0.5,从四大维度检索)
   📘 业务规则:"订单金额必须 > 0"
   📗 测试模式:"组合查询边界值测试模板"
   📙 历史踩坑:"库存扣减未考虑并发导致超卖"
   📕 风险场景:"支付回调重复通知导致重复扣款"
   ↓
🎯 注入 AI Prompt(知识增强)
   ↓
📝 输出专业测试用例
   ✅ 包含金额边界值测试(0, -1, 0.001, 999999.99)
   ✅ 包含并发库存扣减测试(100 个并发请求)
   ✅ 包含支付回调幂等性测试(重复通知验证)

核心价值

指标 无 RAG 有 RAG 提升
边界值覆盖率 40-60% 80-95% +40-55%
风险场景识别 50-70% 85-95% +35-45%
专业准确性 75-85% 90-98% +15-20%

查看 RAG 配置指南


3️⃣ 🗣️ 自然语言执行 UI 自动化

无需编写代码,用自然语言描述即可执行浏览器自动化。

对比传统方式

❌ 传统 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")
# ... 数十行代码

✅ TestFlow 自然语言执行

1. 导航到登录页面 https://example.com/login
2. 在用户名输入框输入 admin@test.com
3. 在密码输入框输入 password123
4. 点击登录按钮
5. 验证页面显示"欢迎回来"

技术原理

自然语言步骤
   ↓
AI 解析器(理解语义)
   ↓
MCP 命令生成
   ↓
Playwright 浏览器自动化
   ↓
实时截图 + WebSocket 推送

核心优势

维度 Selenium/Playwright 录制回放工具 TestFlow
编写方式 编写代码 录制操作 自然语言描述 ✍️
技术门槛 需要编程基础 无需编程 无需编程 👍
维护成本 中(需修改选择器) 极高(UI 变化即失效) 低(AI 智能适配) 💰
灵活性 低(无法修改录制脚本) 🔧
元素定位 手动写选择器 固定坐标/选择器 AI 智能匹配 🤖

1. AI 生成测试用例

功能测试用例 → AI 生成器 → 上传 Axure HTML → 生成需求文档
→ 审核修正 → 生成测试模块 → 选择模块 → 生成测试目的
→ 选择目的 → 生成测试点(RAG 增强)→ 保存

2. 执行测试用例

测试用例管理 → 选择用例 → 点击执行 → 实时监控 → 查看结果和截图

3. AI 批量修改

测试用例管理 → AI 批量更新 → 描述变更需求 → 审核提案 → 应用修改

🏗️ 技术栈

核心技术

层级 技术 说明
前端 React 18 + TypeScript + Tailwind CSS 现代化 UI
后端 Node.js + Express + Prisma ORM API 服务
数据库 MySQL 8.0 关系型数据库
AI OpenRouter (GPT-4o/DeepSeek/Claude) + 本地 Gemini/Qwen 多模型支持
RAG Qdrant + 阿里通义 Embedding (1024 维) 知识库增强
自动化 MCP + Playwright 浏览器自动化
实时通信 WebSocket 进度推送

完整架构:ARCHITECTURE.md


📁 项目结构

project/
├── src/                    # 前端源码
│   ├── components/         # React 组件
│   ├── pages/             # 页面(测试用例管理、AI 生成器)
│   └── services/          # API 客户端
├── server/                # 后端源码
│   ├── routes/            # API 路由
│   ├── services/          # 核心服务
│   │   ├── mcpClient.ts         # MCP 客户端(自然语言执行)
│   │   ├── aiParser.ts          # AI 解析器(自然语言 → MCP 命令)
│   │   ├── testExecution.ts     # 测试执行编排
│   │   └── testCaseKnowledgeBase.ts # RAG 知识库
│   └── middleware/        # 中间件
├── prisma/                # 数据库
│   └── schema.prisma      # 数据库模式
├── docs/                  # 文档
│   ├── INSTALLATION.md       # 安装指南
│   ├── AI_GENERATOR.md       # AI 生成器详解
│   ├── RAG_SETUP.md          # RAG 配置指南
│   ├── EXECUTION.md          # 自然语言执行原理
│   ├── ARCHITECTURE.md       # 技术架构
│   ├── CONFIGURATION.md      # 配置详解
│   └── TROUBLESHOOTING.md    # 故障排除
└── scripts/               # 工具脚本

📚 文档


🐛 常见问题

数据库连接失败

npx prisma migrate deploy
npx prisma generate

Playwright 浏览器缺失

npx playwright install chromium

RAG 知识库连接失败

curl http://localhost:6333/health
docker restart <qdrant_container_id>

更多问题:TROUBLESHOOTING.md


🤝 贡献 & 支持

欢迎 Star ⭐ / Fork 🍴 / PR 🔧


📄 开源许可

GNU General Public License v3.0 © TestFlow Team

查看完整许可:LICENSE


🌟 致谢

感谢以下项目和团队:


TestFlow - 让自动化测试变得简单而强大! 🚀

Made with ❤️ by TestFlow Team

⬆ 返回顶部

About

从原型 10 分钟生成测试用例,用自然语言执行 UI 自动化 | AI 驱动的企业级测试平台,支持 RAG 知识库增强

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 94.5%
  • JavaScript 4.9%
  • Other 0.6%