# auto_test_platform **Repository Path**: tito/auto_test_platform ## Basic Information - **Project Name**: auto_test_platform - **Description**: 通用的一站式自动化测试平台项目(包含接口自动化、web自动化、app自动化) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-04 - **Last Updated**: 2026-04-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # platform - 自动化测试平台 ## 项目概述 platform 是一个功能强大的自动化测试平台,支持 API、Web 和 APP 三种类型的自动化测试。平台采用前后端分离架构,提供了完整的测试生命周期管理,包括项目管理、用例管理、任务调度、测试执行和报告生成等功能。 ## 技术栈 ### 后端技术栈 - **框架**: Flask (Python) - **ORM**: Flask-MongoEngine - **数据库**: MongoDB (主要数据存储), MySQL (辅助数据存储) - **任务调度**: CronManager - **测试框架**: 自定义 testframe - **认证**: Flask-Login ### 前端技术栈 - **框架**: Vue.js 2.x - **UI 组件库**: Element UI - **路由**: Vue Router - **状态管理**: Vuex - **HTTP 客户端**: Axios - **样式**: SCSS, Element UI 自定义主题 ## 功能特性 ### 1. 项目管理 - 创建、编辑、删除测试项目 - 支持 API、Web、APP 三种项目类型 - 项目配置管理 ### 2. 测试用例管理 - 可视化创建和编辑测试用例 - 支持 API 测试用例(请求方法、参数、断言等) - 支持 Web 测试用例(元素定位、操作步骤、断言等) - 支持用例分组管理 ### 3. 元素库管理 - 统一管理 Web 测试元素 - 支持元素分组 - 元素定位方式:CSS Selector、XPath 等 ### 4. 定时任务管理 - 创建、编辑、删除定时测试任务 - 支持多种调度策略(每天、每周、每月等) - 任务执行状态监控 ### 5. 测试执行 - 手动执行测试用例 - 定时执行测试任务 - 并行执行支持 ### 6. 测试报告 - 自动生成详细的测试报告 - 支持查看测试历史记录 - 测试结果可视化展示 - 邮件通知测试结果 ### 7. 全局配置 - 全局 Host 配置 - 邮件服务配置 - 测试数据仓库 ## 项目结构 ### 后端结构 ``` backend/ ├── app/ # Flask 应用初始化 │ └── __init__.py # 应用创建和配置 ├── controllers/ # 控制器层 │ ├── adminUser.py # 用户管理 │ ├── project.py # 项目管理 │ ├── testingCase.py # API 测试用例 │ ├── testingWebCase.py # Web 测试用例 │ ├── cronTab.py # 定时任务 │ └── testReport.py # 测试报告 ├── models/ # 数据模型层 │ ├── adminUser.py # 用户模型 │ ├── project.py # 项目模型 │ ├── testingCase.py # API 测试用例模型 │ └── testingWebCase.py # Web 测试用例模型 ├── testframe/ # 测试框架 │ ├── interfaceTest/ # API 测试执行器 │ └── websiteTest/ # Web 测试执行器 ├── utils/ # 工具函数库 │ └── cron/ # 定时任务管理器 ├── config.py # 配置文件 ├── run.py # 应用启动文件 └── requirements.txt # 依赖声明 ``` ### 前端结构 ``` frontend/ ├── src/ │ ├── api/ # API 调用封装 │ ├── assets/ # 静态资源 │ ├── router/ # 路由配置 │ ├── utils/ # 工具函数 │ ├── views/ # 页面组件 │ │ ├── testProject/ # 测试项目相关页面 │ │ ├── Login.vue # 登录页面 │ │ └── Home.vue # 首页 │ ├── vuex/ # 状态管理 │ ├── App.vue # 根组件 │ └── main.js # 应用入口 ├── config/ # 配置文件 └── package.json # 依赖声明 ``` ## 快速开始 ### 环境要求 - Python 3.6+ - Node.js 10+ - MongoDB 4.0+ - MySQL 5.7+ ### 1. 克隆项目 ```bash git clone <项目地址> cd platform ``` ### 2. 创建并进入虚拟环境 ```bash python -m venv venv venv\Scripts\activate.bat ``` ### 3. 后端部署 ```bash # 进入后端目录 cd backend # 安装依赖 pip install -r requirements.txt # 配置数据库 # 修改 config.py 文件中的数据库配置 # 在项目根目录下新建allure-report,allure-results两个文件夹,用来存放allure报告的json格式数据 # 创建管理员用户 python createAdminUser.py # 启动后端flask服务 python run.py ``` ### 4. 前端部署 ```bash # 进入前端目录 cd frontend # 安装依赖 npm install #安装node:14.17.4和对应的npm版本 npm install -g cnpm #安装对应的cnpm版本,版本不对应会安装失败 # 配置 API 地址 # 修改 config/dev.env.js 文件中的 BASE_API 配置 #切换到frontend目录下 #依次执行: npm install -g cnpm --registry=https://registry.npm.taobao.org cnpm install phantomjs-prebuilt@2.1.16 --ignore-scripts;cnpm rebuild node-sass;cnpm install npm run build # 启动前端服务 npm start #启动失败可以上网找找原因 ``` ### 5. 访问平台 打开浏览器访问:http://localhost:5050 ## 使用指南 ### 1. 创建项目 1. 登录平台 2. 选择测试类型(API/Web/APP) 3. 点击"创建项目"按钮 4. 填写项目信息并保存 ### 2. 管理测试用例 #### API 测试用例 1. 进入项目详情页 2. 选择"API 测试用例"模块 3. 点击"创建用例"按钮 4. 配置请求信息(URL、方法、参数、头信息等) 5. 配置断言条件 6. 保存测试用例 #### Web 测试用例 1. 进入项目详情页 2. 选择"Web 测试用例"模块 3. 点击"创建用例"按钮 4. 配置测试步骤(打开页面、操作元素、断言等) 5. 保存测试用例 ### 3. 执行测试 #### 手动执行 1. 进入测试用例列表 2. 选择要执行的测试用例 3. 点击"执行"按钮 4. 查看测试结果 #### 定时执行 1. 进入定时任务模块 2. 点击"创建任务"按钮 3. 配置任务信息(测试用例、执行时间、执行频率等) 4. 保存定时任务 ### 4. 查看测试报告 1. 进入测试报告模块 2. 选择项目和时间范围 3. 查看测试报告详情 4. 支持导出测试报告 ## 架构设计 ### 整体架构 项目采用前后端分离架构: - **前端**: Vue.js 单页应用,负责用户界面展示和交互 - **后端**: Flask RESTful API 服务,负责业务逻辑处理和数据管理 ### 核心模块关系 ```mermaid flowchart TD subgraph "前端模块" A[用户界面] --> B[Vue组件] B --> C[Vue Router路由] C --> D[API调用层] D --> E[Axios HTTP客户端] end subgraph "后端模块" F[Flask应用] --> G[蓝图路由] G --> H[控制器层] H --> I[数据模型层] H --> J[测试框架] H --> K[定时任务管理器] I --> L[MongoDB数据库] J --> M[API测试执行器] J --> N[Web测试执行器] K --> O[Cron调度器] end E --> G O --> J ``` ## 开发说明 ### 代码规范 - 后端:遵循 PEP 8 代码规范 - 前端:遵循 Vue.js 官方代码规范 ### 测试 - 单元测试:`python -m pytest tests/unit/` - 集成测试:`python -m pytest tests/integration/` --- **感谢使用 platform 自动化测试平台!**