AutoTest Pro 是一个前后端分离架构的一站式自动化测试平台,参考企业级测试平台的产品设计与交互体验,使用 Python (FastAPI) 构建后端服务、Vue 3 构建前端界面。
平台面向接口测试、UI 自动化测试与性能测试场景,提供从 用例管理 → 测试编排 → 执行校验 → 数据看板 的完整闭环,可作为自动化测试平台的脚手架或教学示例。
- 🧩 多测试类型 — 同时支持 API、UI、性能三类测试用例的管理与执行
- 🌳 目录化管理 — 接口/用例按模块树形组织,支持模块与用例的增删改查
- 🛠️ 可视化请求构造 — Params / Headers 表格编辑器、JSON 高亮代码编辑器、多种 Body 类型
- ✅ 断言引擎 — 状态码、响应时间、JSON 字段等多维度断言校验
- 📊 数据看板 — 基于 ECharts 的执行趋势、通过率、失败分布等可视化图表
- 🔐 JWT 鉴权 — 完整的登录态管理、路由守卫与请求拦截
- 📚 自动文档 — FastAPI 自动生成 Swagger / OpenAPI 接口文档
┌─────────────────────────┐ HTTP / JSON ┌──────────────────────────┐
│ 前端 (Vue 3) │ ───────────────────────▶ │ 后端 (FastAPI) │
│ Vite · Element Plus │ /api/v1 (Vite Proxy) │ Uvicorn · SQLAlchemy │
│ Pinia · Vue Router │ ◀─────────────────────── │ JWT 鉴权 · Pydantic │
│ Axios · ECharts │ Bearer Token │ SQLite │
└─────────────────────────┘ └──────────────────────────┘
| 技术 | 版本 | 说明 |
|---|---|---|
| Python | 3.11+ | 运行环境 |
| FastAPI | 0.115 | 高性能异步 Web 框架,自动生成 OpenAPI 文档 |
| Uvicorn | 0.32 | ASGI 服务器 |
| SQLAlchemy | 2.0 | ORM,数据库模型与查询 |
| SQLite | 内置 | 轻量级数据库(零配置,开箱即用) |
| Pydantic | 2.10 | 数据校验与序列化(Schema) |
| python-jose | 3.3 | JWT 令牌签发与校验 |
| passlib + bcrypt | 1.7 / 4.0 | 密码哈希加密 |
| httpx | 0.28 | 异步 HTTP 客户端,用于 API 用例执行 |
后端特性: RESTful API · JWT 鉴权 · CORS 跨域 · 自动 Swagger 文档 · 启动自动建表与种子数据。
| 技术 | 版本 | 说明 |
|---|---|---|
| Vue 3 | 3.5 | 渐进式前端框架(Composition API + <script setup>) |
| Vite | 6.0 | 前端构建工具与开发服务器 |
| Element Plus | 2.9 | 企业级 UI 组件库 |
| @element-plus/icons-vue | 2.3 | 图标库 |
| Vue Router | 4.5 | 路由与登录守卫 |
| Pinia | 2.3 | 状态管理(用户 / Token) |
| ECharts | 5.5 | 数据可视化图表 |
| Axios | 1.7 | HTTP 请求与拦截器 |
| Sass | 1.83 | CSS 预处理器 |
前端特性: 前后端分离 · JWT 自动注入 · 路由鉴权 · 响应式布局 · ECharts 看板 · Vite 代理转发。
| 模块 | 说明 |
|---|---|
| 登录页 | 账号密码登录、记住我、第三方登录入口(企业微信 / GitLab / LDAP) |
| 工作台 Dashboard | 用例数 / 成功率等统计卡片、7 天执行趋势、模块通过率、失败原因环形图、性能响应趋势、最近执行记录、快捷入口 |
| 项目管理 | 项目概览、模块增删改查、成员管理、关联环境、最近测试报告、项目信息 |
| API 测试 | 接口目录树、请求构造(Method / URL / Params / Headers / Body)、断言列表、响应结果展示、用例与模块增删改查 |
| UI 测试 | 用例树、测试步骤可视化编排、步骤导入导出、执行结果日志、元素库与页面预览 |
| 测试计划 | 测试计划的创建、列表、运行与删除 |
| 其余菜单 | 性能测试、执行记录、测试报告、环境配置、数据管理、系统管理(占位页) |
ikunAICoding/
├── backend/ # Python FastAPI 后端
│ ├── app/
│ │ ├── api/ # 路由:auth / dashboard / projects / cases / plans
│ │ ├── core/ # 配置 / 数据库 / 安全(JWT, 加密)
│ │ ├── models/ # SQLAlchemy 数据模型
│ │ ├── schemas/ # Pydantic 模型
│ │ ├── seed.py # 初始化种子数据
│ │ └── main.py # 应用入口
│ └── requirements.txt
├── frontend/ # Vue 3 前端
│ ├── src/
│ │ ├── api/ # Axios 封装与接口
│ │ ├── components/ # 公共组件(KvEditor / CodeEditor / ECharts 封装)
│ │ ├── layouts/ # 主框架布局(侧边栏 + 顶栏)
│ │ ├── router/ # 路由与守卫
│ │ ├── store/ # Pinia 状态
│ │ ├── styles/ # 全局样式与设计变量
│ │ └── views/ # 页面(登录 / 看板 / 项目 / API / UI / 计划)
│ ├── vite.config.js
│ └── package.json
├── docs/ # 文档与截图资源
└── README.md
- Python 3.11+
- Node.js 18+ 与 npm
cd backend
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
# source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8010- 后端地址:http://127.0.0.1:8010
- API 文档(Swagger):http://127.0.0.1:8010/docs
- 首次启动会自动创建 SQLite 数据库并写入演示数据。
- 端口可自行调整;如修改后端端口,请同步修改
frontend/vite.config.js中的代理target。
cd frontend
npm install
npm run dev- 前端地址:http://localhost:5173(端口被占用时 Vite 会自动顺延)
- Vite 已配置代理,
/api/v1请求自动转发到后端127.0.0.1:8010。
| 用户名 | 密码 |
|---|---|
admin |
admin123 |
| 方法 | 路径 | 说明 |
|---|---|---|
POST |
/api/v1/auth/login |
用户登录,返回 JWT |
GET |
/api/v1/auth/me |
当前登录用户 |
GET |
/api/v1/dashboard |
工作台概览数据 |
GET |
/api/v1/projects |
项目列表 |
GET |
/api/v1/projects/{id} |
项目详情(含模块) |
GET |
/api/v1/api-cases |
API 用例列表 |
POST |
/api/v1/api-cases/run |
执行 API 请求并校验断言 |
GET |
/api/v1/ui-cases |
UI 用例列表 |
POST |
/api/v1/ui-cases/{id}/run |
执行 UI 用例 |
GET |
/api/v1/plans |
测试计划列表 |
除登录外,所有接口均需在请求头携带
Authorization: Bearer <token>。完整接口列表见 Swagger 文档。
本项目以 MIT License 开源,仅供学习与参考使用。
