把整个测试流程交给 AI 是什么体验?我开源了(附在线体验地址)
🎉 项目已开源(MIT License):https://gitee.com/wwcs/ai_test_sheng
🚀 在线体验:http://111.229.22.12(体验账号admin/admin123)
一、先说说测试人的日常
作为测试工程师,你有没有过这样的时刻:
- 😫 需求文档滞后,页面全靠自己一点点探索
- 📝 用例设计靠经验,等价类、边界值想起来一个写一个
- 🌙 回归测试熬夜点点点,眼睛盯屏幕盯到花
- 📊 测试报告手动整理,Excel 排版比写用例还费时间
我选择把这些全部交给 AI。
在 ai_test_sheng 这个开源平台上,你只需要用自然语言说一句:
"帮我测一下订单流程"
AI 就会自动完成:需求分析 → 页面探索 → 用例设计/评审 → 测试执行 → 报告输出 → UI 自动化脚本生成,整个过程在对话里实时可见,哪里不满意直接让 AI 改。
一句话总结:你提需求,AI 帮你测,全程可见、可干预、可修复。
开源地址(Gitee):https://gitee.com/wwcs/ai_test_sheng
二、核心特性
| 特性 | 说明 |
|---|---|
| 🤖 AI 测试全流程 | 8 阶段工作流:需求分析 → 页面探索 → 用例设计 → 用例评审 → 测试执行 → 报告输出 → 持续优化 → UI 自动化脚本生成,AI 对话驱动 |
| 🌐 真实浏览器操作 | 基于 Playwright MCP 无头浏览器,页面探索、元素定位、断言、截图全自动 |
| 💬 多会话隔离 | 每个对话独立 UUID 工作区,权限隔离(会话文件可操作,项目代码受保护) |
| 🔄 旧平台数据迁移 | lim-db 一键迁移 + 增量同步,平滑切换 |
| ⚙️ 开箱即用部署 | docker compose 一键部署 + 可选 Jenkins CI/CD,附带实战踩坑指南 |
| 🛠 L1-L3 故障自愈 | 脚本执行失败自动分层修复(重试 → AI 修复 → 人工介入) |
| 🧩 组合脚本 | AI 自动合并多个子脚本为组合用例 |
| ⏰ 定时任务 | Cron 表达式定时执行 + 执行记录回溯 |
三、系统架构(四层)
┌─────────────────────────────────────────────┐
│ 前端展示层 React + UmiJS + Ant Design │
│ Chat 对话页 / 脚本管理 / 修复中心 / 定时任务 │
├─────────────────────────────────────────────┤
│ 后端 API 层 Django + DRF │
│ ScriptViewSet / ChatSession / Repair / Cron │
│ SSE 流式接口 / 租户隔离 / 权限控制 │
├─────────────────────────────────────────────┤
│ AI 客户端层 ai_client.py │
│ claude-code-server (HTTP 常驻, 8085 端口) │
│ Claude Code / DeepSeek 兼容端点 │
├─────────────────────────────────────────────┤
│ 执行与持久化 SandboxRunner + MySQL/Redis │
│ subprocess 沙箱执行 / Celery 异步任务 │
└─────────────────────────────────────────────┘
技术栈一览
| 层 | 技术 |
|---|---|
| 前端 | React 17 + UmiJS 3 + Ant Design 4 + ProComponents + Zustand + CodeMirror 6 |
| 后端 | Django 4.2 + DRF + Celery |
| 数据库 | MySQL 8 + Redis 7(开发环境 SQLite) |
| AI 引擎 | claude-code-server + Claude Code(无 Anthropic Key 可接 DeepSeek) |
| 浏览器自动化 | Playwright MCP(无头 Chromium) |
| 部署 | Docker Compose + Nginx(可选 Jenkins CI/CD) |
四、AI 测试全流程(8 阶段)
平台内置了一套完整的 AI 功能测试流程规范,每个阶段都有明确的目标、对 AI 的指令、交付物和通过标准:
阶段一 需求分析 收集需求 → 拆解功能点 → 可测性评估 → 范围与优先级界定
阶段二 页面探索 浏览器截图快照 → 逐元素探索 → 输出元素定位规则
阶段三 用例设计 等价类划分 + 边界值分析 + 场景流程推演 → 用例矩阵
阶段四 用例评审 3 轮评审(覆盖追溯 / 用例质量 / 冗余与数据)
阶段五 测试执行 Playwright 逐条执行,实时判定 PASS/FAIL/BUG/BLOCKED
阶段六 报告输出 HTML 报告 + Markdown 报告 + 遗漏分析
阶段七 持续优化 用例精简 / 回归集推荐 / BUG 跟踪 / 遗漏复盘
阶段八 脚本生成 通用函数库 + 逐条转换 → 可执行 test_*.py
AI 对话界面(核心页面 Chat.tsx):左侧会话列表 + 右侧消息流(thinking 过程、文本、代码块实时展示),底部输入框自然语言下达测试指令,SSE 流式返回,执行过程全透明。
五、几个值得说的设计
1. SSE 流式对话,过程全透明
前端 fetch() + ReadableStream 消费后端 StreamingHttpResponse,AI 的 thinking / tool_call / tool_result / text 事件实时推送到页面:
用户输入 → POST /chats/{id}/send_stream/ → AI 客户端 → SSE 事件流 → 前端逐帧渲染
2. L1-L3 故障自愈体系
脚本执行失败不会直接躺平,而是分层自动处理:
| 级别 | 处理方式 |
|---|---|
| L1 | 瞬态错误(timeout 类)自动重试 |
| L2 | AI 驱动修复:分析错误 → 修改代码 → 沙箱验证 → 自动重执行 |
| L3 | 修复失败标记破损脚本,进入修复中心人工介入 |
错误分类系统内置 20+ 种错误类型,代码差异用 unified diff 展示,修复过程实时可见。
3. 多会话隔离 + 沙箱执行
- 每个会话独立 UUID 工作区,会话文件可操作、项目代码受保护,天然权限隔离
- 脚本在本地沙箱(
.limvenv虚拟环境 + subprocess)执行,不污染宿主机
4. 多租户
所有数据模型通过 tenant 外键隔离(Tenant → AiProject → Script → ExecutionRecord / ChatSession → ChatMessage),全局查询走 _tenant_filter(),企业内部分团队使用互不干扰。
六、快速开始
一键部署
# 1. 拿代码(只需仓库地址与账号)
export GIT_REPO=<你的仓库地址>
export GIT_USER=<账号> GIT_PASS='<密码>'
export SKIP_JENKINS=1 # 不需要 CI 就跳过 Jenkins
# 2. 执行(自动:拉代码 → 生成 .env → 构建启动全部容器 → 健康检查)
sudo -E bash deploy/docker/setup-host.sh
手动部署
git clone https://gitee.com/wwcs/ai_test_sheng /opt/ai_test_sheng && cd /opt/ai_test_sheng
cp deploy/docker/.env.example deploy/docker/.env # 填好必填项
docker compose -f deploy/docker/docker-compose.yml up -d --build
bash deploy/docker/healthcheck.sh # 验证
没有 Anthropic Key?接 DeepSeek
# 编辑 deploy/docker/.env,追加:
ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
ANTHROPIC_AUTH_TOKEN=sk-你的DeepSeekKey
ANTHROPIC_MODEL=deepseek-v4-flash
ANTHROPIC_SMALL_FAST_MODEL=deepseek-v4-flash
# 重建 claude-code-server 并验证
docker compose -f deploy/docker/docker-compose.yml up -d claude-code-server
docker compose -f deploy/docker/docker-compose.yml exec claude-code-server claude -p "只回复: 通了" --model deepseek-v4-flash
📖 完整部署、AI 接入、权限模型、生产环境踩坑 FAQ 与开源检查清单见仓库内
docs/DEPLOYMENT-GUIDE.md和docs/ARCHITECTURE.md。
七、在线体验
无需部署,直接访问体验环境 👇
| 项目 | 地址 |
|---|---|
| 平台入口 | http://111.229.22.12 |
| 体验账号 | admin / admin123 |
八、License
本项目基于 MIT License 开源,可自由使用、修改、商用。
写在最后
把测试流程交给 AI 之后,我们团队最大的感受是:重复的活 AI 干,测试人把精力留给真正需要判断力的事。
这个项目沉淀了我们在 AI + 测试 方向上的一线实战经验:AI 测试流程规范(8 阶段)、Playwright MCP 真实浏览器驱动、SSE 流式 AI 对话、L1-L3 故障自愈、一键部署……希望能给做测试平台、做 AI 提效的同学们一些参考。
如果这个项目帮你省下了一个加班的夜晚,欢迎:
- ⭐ 点个 Star:https://gitee.com/wwcs/ai_test_sheng —— 让更多测试人早点下班 🙏
- 🐛 提 Issue / PR,一起把 AI 测试做得更好
- 💬 有任何疑问欢迎评论区交流,在线体验环境随时可玩,不用部署
求 Star!求关注!让 AI 多干活,让测试少加班! 🚀