颠覆传统接口测试!用 Streamlit + SQLite + GPT 打造可视化自动化平台

发布于:2025-06-23 ⋅ 阅读:(16) ⋅ 点赞:(0)

💡 系列推荐:B站搜索「Python自动化办公2.0」课程,带你零基础进阶自动化专家!仅供付费学员可获得项目资料和代码 ,视频教程,项目源码,讲师1v1

🎯 前言
在自动化测试的世界里,市面上已有不少成熟的工具——Postman、JMeter、甚至是 Pytest + Allure。但它们要么学习成本高、要么不够灵活,尤其不适合快速构建一套“自定义可视化+变量驱动+自动化执行”的一体化平台。

如果你曾经这样想过:

能不能不写代码也能配置接口测试用例?

能不能像 Postman 那样做参数提取、变量替换?

能不能自己搭一个 All-in-One 的平台,自己掌控测试流程?

最重要:我想在 公司内部部署一套轻量级测试系统!

那么,这篇文章,就是为你准备的!

🧩 平台亮点功能速览
功能模块 描述
✅ 用例管理 无需写代码,自定义请求参数、Header、期望响应
📦 变量提取 支持响应中提取值到全局上下文变量,如 user_id=data.id
🔁 全局替换 所有参数/URL/响应预期中支持 {{变量}} 替换,或 变量 直接插入
📊 执行报告 可视化展示测试结果,失败自动重试、可导出 Excel
🧠 GPT 融合 支持 LLM 智能分析失败原因(可扩展)
🚀 一键部署 全部基于 Streamlit + SQLite,轻松部署上线

🧱 技术架构图
markdown
复制
编辑
┌────────────────────┐
│ Streamlit 前端界面 │
└────────┬───────────┘


┌─────────────────────────────┐
│ 业务逻辑模块(接口执行引擎)│
├────────────┬───────────────┤
│ 异步支持 │ 上下文变量系统 │
└────────────┴───────────────┘


┌──────────────────────────────┐
│ SQLite 数据库(用例+变量持久化)│
└──────────────────────────────┘
🔍 关键模块详解
🧠 全局上下文变量管理器:GlobalContextManager
我们实现了一个类 Postman 的变量替换机制:

endpoint = "https://reqres.in/api/users/{{user_id}}"
params = {"name": "{{user_name}}"}

{{变量名}}:自动加引号(适合 JSON)

变量名:原始插值(适合 URL / 数字场景)

替换前不合法的 JSON,替换后自动变成可解析格式!

还支持提取规则:

"extract_vars": "token=access.token, user_id=data.id"

只需在用例中配置,执行后自动提取并写入上下文,无需写一行代码!

🚀 异步接口执行引擎:支持顺序 / 并发
利用 httpx.AsyncClient + 自定义 async_runner,我们支持:

并发批量执行(提升效率)

单个失败可自动重试

响应时间统计、状态码检查、响应匹配

🧰 用例 CRUD + 可视化编辑
配合 Streamlit 表单组件,我们让整个用例管理变得 像 Excel 一样简单:

下拉框选中用例

表单编辑请求参数 / Headers / 预期响应

实时校验 JSON 格式

保存即可更新 SQLite 数据库

💻 效果演示(界面截图)
✅ 支持用例列表、表单编辑、变量预览、执行结果展示。

👇👇👇👇👇

(此处放几张关键 UI 界面图:用例表单、执行报告、变量展示)

运行环境:Python 3.10+,pip install -r requirements.txt

启动命令:streamlit run main.py

默认数据库:sqlite:///api_test.db

📚 延伸阅读与实战推荐
🎥 推荐课程:Python 自动化办公2.0
📍 访问方式:打开 B站,搜索 Python 自动化办公2.0

该课程涵盖:

自动化办公实战(Excel/邮件/网页)

接口测试自动化平台构建

AI 大模型集成,任务智能分析

真实项目案例演练

🧠 最后的话
本平台虽小,却是企业接口测试自动化系统的一个微缩模型。无论你是 QA、开发、自动化运维人员,还是想用 AI 提升测试效率的工程师,这都是一个 极佳的落地实践。

👉 立即关注 B站《Python 自动化办公2.0》,让你的测试工作效率翻倍!

需要我帮你:
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到