# coconutTea **Repository Path**: mtoooo/coconut ## Basic Information - **Project Name**: coconutTea - **Description**: coconutTea(椰子茶)开源测试管理平台,支持多种远程测试执行能力。管理平台+TestAgent+TestCase - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-22 - **Last Updated**: 2026-06-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # coconutTea 测试管理平台 一个功能完整的测试管理平台,支持RobotFramework等多种测试框架,采用Python Web架构,支持HTTP和WebSocket协议。 ## 项目结构 ``` coconut/ ├── app.py # 主应用程序 ├── config.json # 配置文件 ├── requirements.txt # Python依赖包 ├── start.bat # 启动脚本 ├── routes/ # 路由模块 │ ├── __init__.py │ ├── cabinet_routes.py # 机柜管理路由 │ ├── test_routes.py # 测试管理路由 │ └── upload_routes.py # 文件上传路由 ├── templates/ # HTML模板 │ └── index.html # 主页面 ├── static/ # 静态文件 │ ├── css/ │ │ └── style.css # 样式文件 │ └── js/ │ └── app.js # 前端JavaScript ├── TestAgent/ # 测试终端 │ ├── test_agent.py # 测试终端GUI │ ├── test_server.py # 测试服务器 │ ├── requirements.txt # 测试终端依赖 │ ├── build.py # 打包脚本 │ ├── start_agent.bat # 启动测试终端 │ └── start_server.bat # 启动测试服务器 ├── TEST/ # 测试文件目录 │ ├── TestSuiteE01/ │ │ └── case.robot │ └── TestSuiteE02/ │ ├── case.robot │ ├── resource.robot │ ├── start.py │ └── units.py └── uploads/ # 上传文件目录 ``` ## 功能特性 ### 测试管理平台 (coconutTea) 1. **机柜管理** - 添加、编辑、删除测试机柜 - 配置机柜IP、端口、测试脚本路径 - 支持失败终止测试选项 - 实时机柜状态监控 2. **测试用例管理** - 刷新测试用例(树形结构显示) - 支持文件夹-文件-case层级结构 - 选择部分测试用例执行 - 全选/取消全选功能 3. **测试执行** - 启动测试执行 - 实时测试进度显示 - 测试中断功能 - 失败终止测试支持 4. **实时通信** - WebSocket实时日志上传 - 测试结果实时更新 - 测试进度实时显示 5. **报告管理** - 测试报告ZIP文件上传 - 执行历史记录查询 - 测试结果统计分析 ### 测试终端 (TestAgent) 1. **图形界面** - PyQt5开发的友好界面 - 服务器配置管理 - 测试路径配置 - 报告路径设置 2. **测试执行** - 支持RobotFramework测试 - 测试用例自动发现 - 实时日志显示 - 测试结果统计 3. **通信功能** - HTTP服务器接收管理平台指令 - 自动上传测试日志 - 自动上传测试结果 - 自动上传测试报告 4. **打包部署** - 支持打包成独立可执行文件 - 无需Python环境即可运行 - 简化部署流程 ## 安装部署 ### 环境要求 - Python 3.8 或更高版本 - Windows 7/8/10/11 - 现代Web浏览器(Chrome、Firefox、Edge等) ### 安装步骤 #### 1. 安装Python依赖 ```bash # 安装管理平台依赖 pip install -r requirements.txt # 安装测试终端依赖 cd TestAgent pip install -r requirements.txt ``` #### 2. 启动测试管理平台 ```bash # 方法1: 使用启动脚本 start.bat # 方法2: 直接运行Python python app.py ``` 启动后访问: http://localhost:5000 #### 3. 启动测试终端 ```bash # 启动测试服务器 cd TestAgent start_server.bat # 启动测试终端GUI start_agent.bat ``` #### 4. 打包成可执行文件(可选) ```bash cd TestAgent python build.py ``` 打包完成后,可执行文件将在 `dist` 目录中。 ## 使用说明 ### 1. 配置测试机柜 1. 打开测试管理平台 (http://localhost:5000) 2. 点击"添加机柜"按钮 3. 填写机柜信息: - 机柜名称:如 "测试机柜01" - IP地址:测试终端的IP地址 - 端口:默认8080 - 测试脚本路径:如 "D:/TEST" - 失败则终止测试:根据需要勾选 ### 2. 启动测试终端 1. 在测试终端电脑上启动 `TestServer.exe` 2. 启动 `TestAgent.exe` 3. 配置服务器URL(管理平台地址) 4. 设置测试路径和报告路径 5. 点击"连接服务器" ### 3. 执行测试 1. 在管理平台选择测试机柜 2. 点击"刷新用例"获取测试用例 3. 勾选要执行的测试用例(可全选) 4. 根据需要勾选"失败则终止测试" 5. 点击"执行测试"开始执行 6. 实时查看测试日志和进度 7. 测试完成后查看报告 ### 4. 查看测试报告 1. 测试完成后,报告会自动上传到管理平台 2. 在执行历史中找到对应的执行记录 3. 点击记录查看详细信息 4. 下载或在线查看测试报告 ## 配置说明 ### 管理平台配置 (config.json) ```json { "app": { "name": "coconutTea", "version": "1.0.0", "host": "0.0.0.0", "port": 5000, "debug": true }, "database": { "type": "sqlite", "path": "coconut_tea.db" }, "upload": { "max_file_size": 104857600, "upload_folder": "uploads", "allowed_extensions": [".zip", ".log", ".txt", ".json"] }, "websocket": { "enabled": true, "path": "/ws" } } ``` ### 测试终端配置 (test_agent_config.json) ```json { "server_url": "http://localhost:5000", "test_path": "D:/TEST", "report_path": "./reports", "agent_port": 8080, "auto_upload": true, "cabinet_id": null, "fail_to_break": false } ``` ## API接口 ### 机柜管理 - `GET /api/cabinets` - 获取所有机柜 - `POST /api/cabinets` - 添加机柜 - `PUT /api/cabinets/{id}` - 更新机柜 - `DELETE /api/cabinets/{id}` - 删除机柜 - `GET /api/cabinets/{id}/status` - 获取机柜状态 ### 测试管理 - `GET /api/cabinets/{id}/test-cases` - 获取测试用例 - `POST /api/cabinets/{id}/refresh-cases` - 刷新测试用例 - `POST /api/cabinets/{id}/execute` - 执行测试 - `POST /api/cabinets/{id}/stop` - 停止测试 - `GET /api/executions` - 获取执行历史 - `GET /api/executions/{id}` - 获取执行详情 ### 文件上传 - `POST /api/upload/report` - 上传测试报告 - `POST /api/upload/log` - 上传测试日志 - `POST /api/upload/case-result` - 上传测试结果 ### WebSocket事件 - `connect` - 客户端连接 - `disconnect` - 客户端断开 - `register_cabinet` - 注册机柜 - `test_log` - 测试日志 - `test_result` - 测试结果 - `test_progress` - 测试进度 - `test_complete` - 测试完成 ## RobotFramework支持 ### 测试用例发现 系统使用Robot Framework的API自动发现测试用例: ```python from robot.api import TestSuiteBuilder test_suite = TestSuiteBuilder().build(robot_abs_path) test_cases = test_suite.tests ``` ### 测试执行 支持Robot Framework的标准参数: - `-d` 指定测试报告路径 - `-t` 选择特定测试用例执行 - `-v` 设置变量 - `--loglevel` 设置日志级别 ## 故障排除 ### 常见问题 1. **无法连接到测试终端** - 检查IP地址和端口是否正确 - 确认测试终端的TestServer正在运行 - 检查防火墙设置 2. **测试用例刷新失败** - 确认测试路径配置正确 - 检查测试文件格式是否正确 - 确认Robot Framework已正确安装 3. **测试执行失败** - 查看实时日志了解具体错误 - 检查测试用例语法是否正确 - 确认测试环境配置完整 4. **打包失败** - 确认PyInstaller已正确安装 - 检查Python环境是否完整 - 查看错误日志了解具体问题 ## 技术栈 ### 后端 - Python 3.8+ - Flask (Web框架) - Flask-SocketIO (WebSocket支持) - SQLite (数据库) - Requests (HTTP客户端) ### 前端 - HTML5/CSS3 - JavaScript (ES6+) - WebSocket API - Fetch API - Font Awesome (图标) ### 测试终端 - PyQt5 (GUI框架) - Robot Framework (测试框架) - Flask (HTTP服务器) - Threading (多线程支持) ## 开发说明 ### 添加新的测试框架支持 1. 在 `test_server.py` 中添加新的测试发现逻辑 2. 在 `test_agent.py` 中添加新的测试执行逻辑 3. 更新API接口以支持新框架的参数 ### 扩展功能 1. 在 `routes/` 目录下添加新的路由模块 2. 在 `app.py` 中注册新的蓝图 3. 在前端添加相应的UI和交互逻辑 ## 许可证 本项目采用MIT许可证。 ## 联系方式 如有问题或建议,请联系开发团队。 --- **coconutTea** - 让测试管理更简单!