Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoTest Pro · 一站式自动化测试平台

覆盖 API、UI、性能测试的企业级自动化测试解决方案

集用例管理、可视化编排、断言校验、执行看板于一体的前后端分离平台

Python FastAPI Vue Vite Element Plus License

AutoTest Pro 登录页

📖 项目简介

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)

技术 版本 说明
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)

技术 版本 说明
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

1️⃣ 启动后端

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

2️⃣ 启动前端

cd frontend
npm install
npm run dev
  • 前端地址:http://localhost:5173(端口被占用时 Vite 会自动顺延)
  • Vite 已配置代理,/api/v1 请求自动转发到后端 127.0.0.1:8010

3️⃣ 登录系统

用户名 密码
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 文档。


📄 License

本项目以 MIT License 开源,仅供学习与参考使用。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages