基于 FastAPI + Vue 3 深度定制的全栈自动化执行引擎设计全解
一、引言📅
在经历过无数个加班维护自动化脚本的夜晚后,我意识到现有的测试工具大都存在“厚重且割裂”的问题。于是,我尝试用 Python 的灵活性与 Vue 3 的高效响应能力打造了这款名为 Lit 的全栈自动化平台。
本文将摒弃虚头巴脑的功能堆砌,带大家从底层架构、动态类生成、异步任务调度三个维度深度解析 Lit 平台的实现原理。
二、底层架构(解耦轮训-Decoupled Polling)🏗️
传统的测试平台常把“执行”逻辑写在 API 路由里,这会导致执行长任务时导致 Web 服务卡死。Lit 采用了完全解耦的架构设计:
架构图示
graph LR User[Frontend UI] -- API --> Server[FastAPI Server] Server -- Save Task --> DB[(SQLite/MySQL)] Worker[Async Worker] -- Poll Task --> DB Worker -- Driver --> Engine[API/UI/Perf Engines] Engine -- Write Report --> DB Engine -- Save Static --> FS[Static File System]
- FastAPI:作为 API 网关,利用其原生支持
async/await的特性,确保即使在任务高并发提交时也能保持极低的相应时延。 - Async Worker:一个独立的 Python 进程,每秒轮询一次数据库任务表。它根据不同的任务类型(
api,perf,ui,mobile)动态加载对应的DynamicRunner。
三、核心黑科技(动态 TestCase类生成)🚀
如何实现“零代码”接口回归?Lit 内部使用了 Python 的 元编程 (Metaprogramming) 技术。
当我们从数据库拉取到一条接口配置时,系统并不会去执行简单的 requests.get(),而是动态构建了一个标准的 unittest.TestCase 类:
这种做法的优势在于:完美兼容所有 Python 单元测试生态的插件(如 HTMLTestRunner),让报告生成变得异常简单。
四、前端工程化(Tailwind 4 + 玻璃拟态-Glassmorphism)🎨
Lit 的前端不仅仅是“Element Plus 堆砌”,我们对视觉体验有着近乎偏执的追求:
- 核心设计语言:采用了暗黑系玻璃拟态。背景使用
backdrop-blur-2xl,配合mask-image实现细腻的边缘过渡。 - 炫彩 Logo 环绕:通过 CSS 的
conic-gradient与blur滤镜,为圆形 Logo 增加了具有呼吸感的彩色光圈,极具视觉冲击力。 - 性能黑盒优化:使用
Vite的懒加载与热模块替换,确保在大数据量显示(如 1000+ 用例列表)时依然保持 60FPS 的滚动帧数。
五、分布式压测(Locust的无缝集成)📈
在性能测试模块,Lit 复用了接口用例的数据。当用户发起压测时:
- 后端生成临时的
locustfile.py模板。 - 通过环境变量注入并发参数。
- 使用
subprocess拉起 Locust 进程。 - 实时捕获:Worker 会实时尾部读取(tail)Locust 生成的统计文件,通过 API 实时“回灌”给前端,形成动态 RPS 图片。
六、总结与展望💡
Lit 并不是要取代所有工具,而是要提供一个最符合现代工程审美的“集成化基垒”。
开源与商业探索: 我个人非常看好测试中台的私有化定制市场、以及对测试平台开发探索感兴趣的测试伙伴。目前 Lit 已支持多项目管理、RBAC 权限、多环境适配。如果你在寻找一款可以直接落地、颜值能打、底层稳固的自动化平台原型,或者有垂直化业务定制的需求,欢迎联系、留言或评论。
技术交流/寻求合作:
- 邮 箱:litwuaa522@gmail.com
- GitHub:https://github.com/Aquarius-0455/TestingPlatform-lit
测试,也可以很优雅。愿各位在自动化的道路上不再迷茫!
© 2026 Lit | 转载请注明出处
![]()

浙公网安备 33010602011771号