# smart-test-platform **Repository Path**: rain_yang/smart-test-platform ## Basic Information - **Project Name**: smart-test-platform - **Description**: 大模型驱动的统一测试平台,把 **接口自动化 / WebUI 自动化 / AppUI 自动化** 抽象成同一条 AI 流水线 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-09-23 - **Last Updated**: 2026-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能测试平台 (Smart Test Platform) 大模型驱动的统一测试平台,把 **接口自动化 / WebUI 自动化 / AppUI 自动化** 抽象成同一条 AI 流水线: ``` 输入源 → 用例生成(LLM) → 指令编译(LLM) → 执行(Executor) → 结果分析(LLM) → 智能优化(闭环) ``` | 测试类型 | 输入源 | 执行器 | 说明 | |---------|--------|--------|------| | 接口自动化 | 接口/业务链路 | 内置 HTTP Runner | 用例+造数 → HTTP 请求序列(含变量传递与断言) → 平台内执行 | | WebUI | 需求文档 | 本平台原生浏览器执行器(Playwright) | 用例 → 浏览器操作指令 → LLM 驱动 Playwright 执行 → 分析优化 | | AppUI | 需求文档 | 本平台原生设备执行器(adb) | 用例 → 设备操作指令 → LLM 驱动 adb 执行(自动占用/释放设备) → 分析优化 | | Agent 评测 | 测评集(用例) | 被测 Agent(OpenAI/HTTP) | LLM-as-Judge + 规则指标 双路打分 → 综合得分/维度雷达/逐用例报告 | ## 界面预览 ![智能测试平台 (Smart Test Platform)](./docs/screenshot.png) ## Agent 评测(LLM-as-Judge) 用「裁判大模型 + 规则指标」双路评测其他 AI Agent 的能力,覆盖准确性/相关性/安全/格式等维度。 - **测评集**:管理评测用例(输入/参考答案/规则指标/裁判 rubric/阈值),支持「AI 生成用例」预览导入。 - **被测目标**:配置被测 Agent(OpenAI 兼容 或 通用 HTTP),可测连通。 - **运行评测**:选测评集 × 被测目标 → SSE 实时进度 + 逐用例得分。 - **评测报告**:综合得分(0-100)、通过率、维度均分、逐用例钻取(输入/输出/规则明细/裁判理由)。 - 裁判模型与生成模型在「大模型配置 > Agent 评测」分组下配置(场景 eval_judge / eval_case_gen),与全平台统一的 LLM 入口共用。 ## 技术栈 - 后端: FastAPI + SQLAlchemy + SQLite,LLM 走 OpenAI 兼容接口(已接公司万擎模型) - 前端: Vue3 + Vite + Element Plus,浅色蓝白科技感主题 - 执行引擎: 全部本平台原生 —— 接口 HTTP 内置;WebUI Playwright;AppUI adb。无任何外部服务依赖 - 设备管理: 本平台独立维护设备库(手动添加 / adb 探测),AppUI 执行时下拉选择空闲设备并自动占用/释放 ## 目录结构 ``` Smart-Test-Platform/ ├── backend/ │ ├── main.py FastAPI 入口 │ ├── config.py / database.py / models.py │ ├── schemas.py 造数/接口相关 schema │ ├── schemas_testing.py 测试流水线 schema │ ├── routers/ │ │ ├── endpoints/chains/skills/generate/projects/llm_config (迁移) │ │ ├── requirements.py 需求管理 │ │ ├── cases.py 用例生成与管理 │ │ ├── runs.py 执行编排(后台执行+轮询) │ │ └── reports.py 分析报告 + 采纳优化 │ └── services/ │ ├── llm / swagger_parser / repo_scanner / git_clone (迁移) │ ├── case_generator.py 三类用例生成 │ ├── requirements.py 文档解析(md/txt/pdf/docx) │ ├── compilers.py 用例→可执行指令(http/browser/device) │ ├── http_executor.py 内置 HTTP 执行(变量传递+断言) │ ├── agent_executor.py 对接 agent-test-service │ └── analyzer.py 结果分析+优化建议 └── frontend/ └── src/views/ ├── Dashboard 工作台 ├── Requirements 需求管理 ├── Cases 测试用例 ├── Runs 执行中心(实时轮询) ├── Reports 分析报告 └── Endpoints/Chains/Skills/Generate/Records/LlmConfig (迁移) ``` ## 快速开始 ```bash # 1) 后端 (端口 8000) ./start-backend.sh # 2) 前端 (端口 5173) ./start-frontend.sh # 3) (仅 WebUI 执行需要) 安装 Playwright 浏览器内核 cd backend && source .venv/bin/activate python -m playwright install chromium # 4) (仅 AppUI 执行需要) 本机安装 adb 并连接/授权 Android 设备 ``` 打开 http://localhost:5173 。三类测试的执行全部在本平台完成,无需任何外部服务。 ## 使用流程 **接口自动化**: 接口管理(导入 Swagger) / 业务链路(分析仓库) → 测试用例「AI 生成用例」选接口或链路 → 执行(平台内 HTTP) → AI 分析。 **WebUI**: 需求管理上传文档 → 「生成用例」 → 执行(本平台 Playwright 无头浏览器,LLM 驱动) → 执行中心实时查看步骤与截图 → AI 分析 → 采纳优化生成新版用例。 **AppUI**: 需求管理上传文档 → 「生成用例」 → 执行时从设备库下拉选择空闲设备(自动占用/结束释放,LLM 驱动 adb) → 执行中心查看 → AI 分析 → 采纳优化。 ## 配置说明 `backend/.env`: - `OPENAI_*`: 大模型(已预置公司私有模型) - `LLM_TEMPERATURE` / `LLM_MAX_TOKENS`: 留空则只发 model+messages(兼容企业网关) - 每个 LLM 调用场景(用例生成 / 指令编译 / 执行 Agent / 链路分析 / 结果分析)可在「大模型配置」页按 Tab 单独配置模型