Project Hermes 是一个高性能的接口自动化测试平台,专为解决微服务架构下复杂的接口测试挑战而设计。该平台通过可视化管理、分布式执行、智能参数化等技术手段,显著提升了测试效率和系统稳定性。
在微服务架构下,系统包含500+个接口,面临测试环境复杂、接口依赖深、回归测试耗时长达6小时等典型工程难题。Project Hermes旨在解决这些问题,提供一体化的接口测试解决方案。
- 🚀 高性能分布式执行 - 支持多节点并行执行,大幅提升测试效率
- 🎨 可视化用例管理 - 提供直观的Web界面管理测试用例
- 📊 全链路追踪 - 注入TraceID,便于定位性能瓶颈
- 🛡️ 智能限流熔断 - 保护被测系统,防止压测过载
- 🐳 容器化环境 - Docker一键部署,环境隔离
- 📈 实时监控告警 - 集成Prometheus,实时监控关键指标
- ✅ 回归测试时间:从6小时 → 15分钟 (性能提升24倍)
- ✅ 系统吞吐量:从500 QPS → 3000 QPS (性能提升6倍)
- ✅ 接口响应时间:从2.5秒 → 1.5秒 (性能提升40%)
- ✅ 团队协作效率:促进测试左移,降低非技术人员参与门槛
project-hermes/
├── hermes-web/ # 前端管理平台 (Vue.js + Element UI)
│ ├── src/
│ ├── public/
│ └── package.json
├── hermes-server/ # 后端API服务 (Flask/FastAPI)
│ ├── app/
│ ├── config/
│ └── requirements.txt
├── hermes-core/ # 核心引擎模块
│ ├── scheduler/
│ ├── executor/
│ └── utils/
├── hermes-worker/ # 分布式执行节点
│ ├── worker.py
│ └── task_handler.py
├── docker/ # Docker相关配置
│ ├── Dockerfile
│ └── docker-compose.yml
├── docs/ # 项目文档
│ ├── api.md
│ └── deployment.md
├── tests/ # 测试用例
├── scripts/ # 部署脚本
└── README.md
- Python: Flask/FastAPI, Celery, Redis, MySQL
- 测试框架: Pytest, Requests
- 任务队列: Celery + Redis
- 数据存储: MySQL (主数据), Redis (缓存)
- Vue.js: 2.x/3.x + Element UI
- 构建工具: Webpack, npm/yarn
- UI组件: Element UI
- Docker: 容器化部署
- Docker-Compose: 多服务编排
- Nginx: 反向代理
- Prometheus: 监控指标收集
- Grafana: 监控可视化
- JMeter: 高性能压测
- 自定义压测引擎: Python实现的轻量级压测
- Docker >= 19.03
- Docker Compose >= 1.25
- Python >= 3.8
- Node.js >= 14.0
- 克隆项目
git clone https://github.com/yourusername/project-hermes.git
cd project-hermes- 启动Docker环境
cd docker
docker-compose up -d- 启动后端服务
cd hermes-server
pip install -r requirements.txt
python app.py- 启动前端服务
cd hermes-web
npm install
npm run serve
- 访问平台
Web管理平台: http://localhost:8080 API文档: http://localhost:5000/docs 监控面板: http://localhost:3000
- Docker一键部署
# 构建并启动所有服务
docker-compose -f docker/docker-compose.yml up -d
# 查看服务状态
docker-compose -f docker/docker-compose.yml ps
# 停止所有服务
docker-compose -f docker/docker-compose.yml down欢迎提交Issue和Pull Request!