中文 | English
WHartTest 是基于 Django 5.2 + DRF 与现代大模型技术打造 of AI 驱动的智能自动化测试平台。平台采用前后端分离的 Monorepo 架构,由 5 个子项目组成(Django 后端、Vue 前端、UI 自动化执行器、MCP 工具服务、Agent 技能库、在线文档编辑器),聚合自然语言理解、知识库检索与嵌入搜索能力,结合 LangChain/LangGraph 与 MCP(Model Context Protocol) 工具调用,实现从需求到可执行测试用例 of 自动化生成、管理与执行,为测试团队提供完整的智能测试管理解决方案。
基于大语言模型(LLM)技术,实现从需求到测试用例的智能转化:
- 多源输入:支持需求文档、AI 对话、知识库检索等多种输入方式
- 结构化输出:自动生成包含测试步骤、前置条件、输入数据、期望结果、优先级(P0-P3)的完整用例
- 流式对话:LangGraph 驱动的流式 AI 对话,支持上下文摘要压缩与 Token 用量统计
- 多模型支持:OpenAI、Azure OpenAI、Ollama、Xinference 等 OpenAI 兼容格式 LLM
- 失败自愈:用例执行失败自动触发 AI 自愈任务,自愈过程在对话中实时展示
AI 驱动的端到端测试生成流水线:
- 自动化编排:需求→知识库检索→AI 分析→测试用例生成
- 交互式执行:执行计划确认,支持 Agent Loop 分步执行
- HITL 审批:人工审批中间件,关键节点可人工介入
构建项目级知识库,为 AI 生成提供精准上下文:
- 多格式支持:PDF、Word、Excel、PPT、Markdown、网页链接
- 智能分块:自动文档解析、分块与向量化存储,支持图片提取与多模态嵌入
- 混合检索:Dense + BM25 Sparse 稀疏-稠密混合检索 + RRF 融合排序
- Reranker 精排:可配置重排序模型提升检索精度
通过 Model Context Protocol 实现 AI 与测试工具的无缝对接:
- 远程服务管理:streamable-http、SSE 等传输协议,支持多服务器配置
- 工具发现与同步:自动从 MCP 服务器发现并同步可用工具
- HITL 人工审批:工具级别的敏感操作人工确认机制
- 内置工具集:WHartTest 自身 MCP 工具(项目/模块/用例 CRUD)及第三方平台集成
AI 驱动的需求质量评估,提前识别潜在风险:
- 六维评分体系:完整度、清晰度、一致性、可测性、可行性、逻辑性
- 状态流转:上传→处理→模块拆分→用户调整→待评审→评审中→完成
- 专项分析报告:8 种分析维度的独立报告
- 在线文档编辑:集成 ONLYOFFICE 文档编辑器,支持 AI 补全与 AI 分析插件
全生命周期的测试用例管理能力:
- 5 级模块树:灵活的用例组织结构
- 7 种测试类型:覆盖功能、接口、性能、安全等测试场景
- 用例审核:待审核、通过、优化、不可用等状态流转
- 测试套件:灵活组合用例,支持并发执行配置
- Excel 导入/导出:可配置字段映射的模板系统
- 批量操作:用例的批量创建、编辑、移动、删除
低代码 UI 自动化,降低自动化测试门槛:
- 可视化编排:5 级模块 → 页面管理 → 元素定位 → 步骤编排 → 用例组装
- 9 种定位策略:CSS、XPath、Text、Role、Label、Placeholder、AltText、Title、TestId
- 6 种步骤类型:元素操作、断言、SQL 查询、自定义变量、条件判断、Python 代码
- 多浏览器支持:Chromium / Firefox / WebKit,支持持久化浏览器上下文
- Trace 追踪:完整的截图、Trace 录制与回放
- 步骤录制:支持操作步骤录制,告别手工编写脚本
- 登录态管理:支持通过手动登录截取登录态,下次测试时自动注入,跳过重复登录
集成 mobile-mcp,支持移动端应用自动化测试:
- 多平台支持:Android、iOS 设备自动化
- 元素交互:点击、滑动、输入、手势操作
- 屏幕操作:截图、录屏、亮度/音量调节
可扩展的 Agent 技能管理框架:
- 多来源导入:ZIP 文件上传、Git 仓库导入
- SKILL.md 规范:标准化的技能描述文件
- 内置技能:浏览器自动化(Playwright/agent-browser)、图表生成(Draw.io)、知识库查询、平台 CLI 工具
- 安全隔离:技能文件独立存储,防止路径穿越攻击
- 专属资源:加入技术交流群获取经过微调优化的 Skills 和 MCP 工具包
- Skill沙箱:Skill 执行链采用三层纵深防御架构,全面收敛 LLM 生成命令带来的执行风险
定时/周期任务调度:
- 4 种调度策略:一次性 / 每小时 / 每天 / 每周
- 关联 UI 自动化或测试套件执行
- 失败重试策略,基于 Celery Beat 数据库调度器
全面的测试执行结果分析:
- 实时监控:执行进度、状态实时更新
- 多维度统计:通过率、执行时长、失败原因分析
- 历史对比:支持执行结果的历史趋势分析
如有问题或建议,请通过以下方式联系:
- 提交 Issue
- 项目讨论区
- 微信群聊。
- 加群获取最新更新信息。
鉴于 Skills 模块具备较高的系统执行权限,为了保障您的数据与环境安全,我们做出以下严正提示:
部署建议:强烈建议仅在内网环境或受信任的私有网络中部署使用。 访问控制:切勿将服务直接暴露于公网(Public Internet),或授予任何未经身份验证及不可信人员访问权限。 免责声明:本项目(WHartTest)仅供学习与研究使用。用户需自行承担因违规部署(如开放公网、未做鉴权等)所导致的一切安全风险与后果。对于因不当配置引发的数据泄露、服务器被入侵等安全事故,WHartTest 团队不承担任何法律及连带责任。 WHartTest - AI驱动测试用例生成,让测试更智能,让开发更高效!
复制 .env.example 为 .env 后,可按需调整文件管理相关配置:
# 文件管理:单文件上传大小限制,单位:字节,默认 100MB FILE_MANAGEMENT_MAX_FILE_SIZE=104857600 # LLM 附件:单文件解析文本字符数限制;0 表示不限制,超限会报错且不会截断 FILE_MANAGEMENT_LLM_MAX_CHARS_PER_FILE=0
