Fastapi + vue3 自动化测试平台(1)--开篇
FastAPI + Vue3 自动化测试平台(1)-- 开篇
前言
在现代软件开发中,自动化测试平台已成为提升团队效率和软件质量的重要工具。通过自动化测试,我们可以更快地发现问题、降低手工测试成本,并实现快速迭代。在这一系列文章中,我们将基于 FastAPI 和 Vue3 搭建一个现代化、功能完善的自动化测试平台。
FastAPI 是一个高性能的 Python Web 框架,具有快速开发和高并发处理的能力。 Vue3 是一个现代化的前端框架,支持组件化开发和响应式状态管理,二者的结合可以实现前后端分离、效率高的全栈开发体验。
本系列的第一篇文章将介绍项目的背景、目标以及核心技术栈,帮助大家理解整个项目的设计思路。
项目背景
随着软件复杂度的增加,传统的手工测试已经难以满足快速迭代和质量保证的需求。构建一个自动化测试平台,可以帮助我们:
- 快速执行测试用例,提高测试效率。
- 管理测试计划和用例,提升团队协作能力。
- 生成测试报告,直观展示测试结果。
- 支持多种测试场景,包括接口测试、Web UI 测试、App自动化测试等。
项目目标
- 快速部署:提供简单的部署流程。
- 易用的界面:基于 Vue3 实现一个用户友好的前端界面,方便测试人员和开发人员使用。
- 高性能的接口服务:使用 FastAPI 作为后端框架,支持高并发测试任务的调度和执行。
- 模块化设计:实现用例管理、计划管理、任务执行、测试报告等功能模块。
- 可扩展性:支持自定义测试脚本和插件,满足不同的测试需求。
核心技术栈
在本项目中,我们选择了以下技术栈:
后端技术栈
- FastAPI:用于构建高性能、异步的 RESTful API。
- SQLAlchemy:作为 ORM 工具,用于操作数据库。
- MySQL:存储测试用例、测试结果和平台相关数据。
- 接口自动化:自主研发框架
- Web UI 自动化:框架选择:Playwright
- App 自动化:框架选择:Airtest
前端技术栈
- Vue3:构建响应式前端界面。
- Element Plus:Vue3 的 UI 组件库,用于快速构建界面。
- Axios:用于前端与后端的通信。
- Vite:Vue3 的现代化构建工具,具有快速打包和热更新功能。
项目架构
项目采用前后端分离的架构,后端负责提供 API 服务,前端通过调用 API 实现界面交互。
架构图
┌──────────────────────────┐ ┌───────────────────────┐
│ 前端(Vue3) │ │ 后端(FastAPI) │
│ │ │ │
│ - Element Plus UI │ │ - FastAPI 框架 │
│ - Axios 数据交互 ├─────→ │ │
│ │ │ - SQLAlchemy 数据库 │
│ │ │ │
└──────────────────────────┘ └───────────────────────┘
↑ ↑
│ │
└────────Nginx(反向代理)─────────┘