- 自动化测试核心(packages/core/src/testing.ts):
- JSONPath 求值($.a.b[0].c)、断言评估(状态码/耗时/Header/Body × 10 种操作)
- 变量提取(响应 → 当前环境,{{var}} 链式传值)、Markdown 报告导出
- 用例模型:场景用例 = 有序步骤(引用 HTTP 接口 + 断言 + 提取),失败后继续可选
- 执行器 testRunner + 定时调度器 scheduler(应用运行期间按间隔自动执行)
- TestingView:用例列表 / 步骤编排 / 断言与提取编辑器 / 报告(统计卡+断言明细+过滤+再次运行+导出)
- AI 助手:OpenAI 兼容客户端(DeepSeek/智谱/Kimi/OpenAI/Ollama 预设)
- 设置 → AI 助手:供应商 CRUD + 测试连接 + 当前使用切换
- AI 生成场景用例:读取集合接口清单 → 编排步骤/断言/提取 → 预览保存
- 入口:侧栏底部「自动化测试」+ ⋯ 菜单;文档新增 /docs/testing /docs/ai
- 新增 11 个引擎单测(总 48 前端用例全绿);本地 E2E:运行通过+断言通过+petId 提取验证
2.1 KiB
2.1 KiB
请求报 CORS 错误?
Web 端请求默认经本地 Gin 代理(gin-proxy)发出,不会遇到 CORS。若仍报错:
- 确认 Gin 在运行:
curl http://127.0.0.1:8787/health。 - 用
./run.sh web/gui场景启动(Vite 已配置/v1反代)。 - 桌面端优先走 Tauri 原生网络栈,同样不受 CORS 限制。
浏览器 WebSocket 不能加自定义 Header?
规范限制。在 WS「握手配置」里填写 Header 后,OpsxAPI 自动改走本地 Gin 隧道(见《WebSocket》章节),Header 由 Gin 在握手时代为携带。不填 Header 则直连。
外部 wss:// 地址连不上(DNS 失败)?
本机网络环境可能限制部分域名解析。可先用 curl -v wss://… 或换用公共 echo 服务验证;自建服务请确认防火墙与证书。
MQTT 一定要 wss:// 吗?
浏览器只能通过 WebSocket 连 MQTT。常见 Broker 的 WS 端口:EMQX 8084/mqtt(TLS)、8083/mqtt(明文,仅 http 页面)。mqtt:// TCP 直连仅在桌面原生环境可行。
数据存在哪里?换电脑怎么办?
集合 / 环境 / 历史保存在浏览器 localStorage。迁移:导出 → 全量备份 生成 JSON,在新设备 导入 即可。
误删了接口 / 想回到初始状态?
设置(顶栏 ⋯)→ 重置工作区,恢复内置示例集合。日常请养成导出备份的习惯。
SSE 事件流看着卡住了?
- 事件频率低(如告警流)属正常,等待即可。
- 部分网关会缓冲 SSE,工具会在直连失败时自动切换 Gin 流式代理;若仍无事件,检查中间层(Nginx 需关闭
proxy_buffering)。
发送按钮点击后没反应?
查看响应区是否有红色错误提示(如代理不可达)。</> 代码 生成 cURL 在终端执行可快速分辨是工具问题还是网络 / 接口问题。
支持文件上传吗?
form-data 当前支持文本字段;文件上传请用 </> 代码 生成的 cURL / 脚本执行。
更多问题?
- 服务端能力与边界:见《服务端 API 参考》
- 各协议用法:见左侧「请求调试」分组