- 删除 02-quickstart.md 与 manifest 目录条目(21→20 页) - 原指向该页的入口全部改指 /docs 文档首页(落地页 hero 次级按钮、三站页脚) - intro 提示改指《界面导览》;重建后 /docs/quickstart 404、全站零死链引用
203 lines
9.6 KiB
HTML
203 lines
9.6 KiB
HTML
<!doctype html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>自动化测试 · OpsxAPI 文档</title>
|
||
<meta name="description" content="OpsxAPI 接口工作台用户文档 — HTTP、GraphQL、WebSocket、SSE、Socket.IO、MQTT 一站式调试,支持 OpenAPI/Postman/cURL 等格式导入导出。">
|
||
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='7' fill='%232563eb'/%3E%3Ctext x='16' y='22' font-size='18' font-weight='bold' fill='%23fff' text-anchor='middle' font-family='sans-serif'%3EO%3C/text%3E%3C/svg%3E">
|
||
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%2264%22%20y2%3D%2264%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%232563EB%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2306B6D4%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2214%22%20fill%3D%22url%28%23g%29%22%2F%3E%3Cg%20stroke%3D%22%23fff%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M17%2025h26%22%2F%3E%3Cpath%20d%3D%22M37%2019l6%206-6%206%22%2F%3E%3Cpath%20d%3D%22M47%2039H21%22%2F%3E%3Cpath%20d%3D%22M27%2033l-6%206%206%206%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E">
|
||
<link rel="stylesheet" href="/docs/assets/docs.css">
|
||
</head>
|
||
<body>
|
||
<svg xmlns="http://www.w3.org/2000/svg" style="display:none" aria-hidden="true">
|
||
<symbol id="i-menu" viewBox="0 0 24 24"><path d="M4 5h16" /> <path d="M4 12h16" /> <path d="M4 19h16" /></symbol>
|
||
<symbol id="i-search" viewBox="0 0 24 24"><path d="m21 21-4.34-4.34" /> <circle cx="11" cy="11" r="8" /></symbol>
|
||
</svg>
|
||
<header class="topbar">
|
||
<div class="topbar-inner">
|
||
<button class="menu-btn" id="menu-btn" aria-label="打开导航"><svg class="i"><use href="#i-menu"/></svg></button>
|
||
<a class="brand" href="/docs">
|
||
<span class="brand-logo"><svg width="28" height="28" viewBox="0 0 64 64" aria-label="OpsxAPI"><defs><linearGradient id="lg-docs" x1="0" y1="0" x2="64" y2="64" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#2563EB"/><stop offset="1" stop-color="#06B6D4"/></linearGradient></defs><rect width="64" height="64" rx="14" fill="url(#lg-docs)"/><g stroke="#fff" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" fill="none"><path d="M17 25h26"/><path d="M37 19l6 6-6 6"/><path d="M47 39H21"/><path d="M27 33l-6 6 6 6"/></g></svg></span>
|
||
<span class="brand-name">OpsxAPI <em>文档</em></span>
|
||
</a>
|
||
<span class="ver-badge">v1.0</span>
|
||
<div class="search">
|
||
<input id="search-input" type="search" placeholder="搜索文档…" autocomplete="off" spellcheck="false">
|
||
<div class="search-panel" id="search-panel" hidden></div>
|
||
</div>
|
||
<nav class="top-links">
|
||
<a href="/home">官网</a>
|
||
</nav>
|
||
</div>
|
||
</header>
|
||
|
||
<div class="layout" id="layout">
|
||
<aside class="sidebar" id="sidebar">
|
||
|
||
<div class="nav-group">
|
||
<div class="nav-group-title">开始使用</div>
|
||
|
||
<a class="nav-link" href="/docs/intro">产品介绍</a>
|
||
|
||
<a class="nav-link" href="/docs/interface">界面导览</a>
|
||
|
||
</div>
|
||
|
||
<div class="nav-group">
|
||
<div class="nav-group-title">请求调试</div>
|
||
|
||
<a class="nav-link" href="/docs/http">发送 HTTP 请求</a>
|
||
|
||
<a class="nav-link" href="/docs/auth">接口鉴权</a>
|
||
|
||
<a class="nav-link" href="/docs/env">环境与变量</a>
|
||
|
||
<a class="nav-link" href="/docs/graphql">GraphQL</a>
|
||
|
||
<a class="nav-link" href="/docs/websocket">WebSocket</a>
|
||
|
||
<a class="nav-link" href="/docs/sse">SSE 事件流</a>
|
||
|
||
<a class="nav-link" href="/docs/socketio">Socket.IO</a>
|
||
|
||
<a class="nav-link" href="/docs/mqtt">MQTT</a>
|
||
|
||
</div>
|
||
|
||
<div class="nav-group">
|
||
<div class="nav-group-title">数据管理</div>
|
||
|
||
<a class="nav-link" href="/docs/import">数据导入</a>
|
||
|
||
<a class="nav-link" href="/docs/export">导出与代码生成</a>
|
||
|
||
<a class="nav-link" href="/docs/mock">Mock 数据</a>
|
||
|
||
<a class="nav-link" href="/docs/manage">集合与历史</a>
|
||
|
||
</div>
|
||
|
||
<div class="nav-group">
|
||
<div class="nav-group-title">自动化测试与 AI</div>
|
||
|
||
<a class="nav-link active" href="/docs/testing">自动化测试</a>
|
||
|
||
<a class="nav-link" href="/docs/ai">AI 助手</a>
|
||
|
||
</div>
|
||
|
||
<div class="nav-group">
|
||
<div class="nav-group-title">账号与团队</div>
|
||
|
||
<a class="nav-link" href="/docs/account">账号与团队</a>
|
||
|
||
</div>
|
||
|
||
<div class="nav-group">
|
||
<div class="nav-group-title">参考</div>
|
||
|
||
<a class="nav-link" href="/docs/license">授权与激活</a>
|
||
|
||
<a class="nav-link" href="/docs/server-api">服务端 API 参考</a>
|
||
|
||
<a class="nav-link" href="/docs/faq">常见问题</a>
|
||
|
||
</div>
|
||
|
||
<div class="sidebar-foot">© 2026 OpsxAPI · 本地优先的接口工作台</div>
|
||
</aside>
|
||
|
||
<main class="content">
|
||
<div class="breadcrumb">文档 <span>/</span> 自动化测试与 AI <span>/</span> 自动化测试</div>
|
||
<h1 class="page-title">自动化测试</h1>
|
||
<div class="page-meta">更新于 2026-09-17</div>
|
||
<article class="md">
|
||
<p>把日常联调的接口串成<strong>场景用例</strong>,一条龙验证业务流程。三种触发方式共用同一套用例模型:</p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>方式</th>
|
||
<th>说明</th>
|
||
<th>适合</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>手动运行</td>
|
||
<td>用例编排好后点「运行」</td>
|
||
<td>日常自测、回归</td>
|
||
</tr>
|
||
<tr>
|
||
<td>AI 生成</td>
|
||
<td>模型按接口清单自动编排步骤与断言</td>
|
||
<td>快速起盘、补断言思路</td>
|
||
</tr>
|
||
<tr>
|
||
<td>定时任务</td>
|
||
<td>应用运行期间按间隔自动执行</td>
|
||
<td>持续监控、冒烟</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h2 id="sec-1">场景用例</h2>
|
||
<p>从活动栏「测试」进入。用例 = 有序步骤列表,每个步骤:</p>
|
||
<ul>
|
||
<li><strong>引用一个 HTTP 接口</strong>(从集合中选择,可跨集合、跨目录);</li>
|
||
<li><strong>断言</strong>:状态码 / 耗时 / Header / Body 四类目标,支持 等于、不等于、大于、小于、包含、存在 与 <strong>JSONPath</strong> 取值比较;</li>
|
||
<li><strong>变量提取</strong>:<code>$.data.id</code> → 环境变量 <code>petId</code>,后续步骤 URL / Body 用 <code>{{petId}}</code> 引用,实现「创建 → 查询 → 删除」链式传值;</li>
|
||
<li>可单独禁用、上下移动、删除。</li>
|
||
</ul>
|
||
<p>用例级选项「<strong>失败后继续</strong>」:默认失败即停(快速定位首个问题);打开后跑完全部步骤再看整体报告。</p>
|
||
<h2 id="sec-2">运行报告</h2>
|
||
<ul>
|
||
<li>统计卡:通过 / 失败步骤数、总耗时、断言数、通过率;</li>
|
||
<li>步骤明细:方法 + URL + 状态码 + 耗时,逐条断言的期望 / 实际对照(可按 通过 / 失败 过滤);</li>
|
||
<li>「再次运行」一键回归;「导出报告」生成 Markdown(含断言对照表,适合贴缺陷单)或 JSON(<code>opsxapi.test-run.v1</code> 结构,供 CI / 脚本二次处理);</li>
|
||
<li>每个用例保留最近 50 次运行记录,可下拉切换历史报告。</li>
|
||
</ul>
|
||
<h2 id="sec-3">定时任务</h2>
|
||
<p>用例头部的 ⏱ 按钮或左侧「定时任务」入口,两种节奏:</p>
|
||
<ul>
|
||
<li><strong>固定间隔</strong>:5 / 15 / 30 / 60 分钟 · 6 小时 · 每天;</li>
|
||
<li><strong>Cron 表达式</strong>:标准 5 段(分 时 日 月 周,本地时区),例如每 15 分钟 <code>*/15 * * * *</code>、每个工作日 9 点半 <code>30 9 * * 1-5</code>;</li>
|
||
<li>独立 启用 / 暂停 开关,显示下次运行时间与上次结果;</li>
|
||
<li>调度器每 15 秒巡检一次,同一用例运行中不会重复触发;每个任务环形保留最近 30 条运行日志;</li>
|
||
<li><strong>应用保持运行时生效</strong>:OpsxAPI 窗口(或 Web 页面)开着才会按时触发并记录报告,关闭后自动暂停 —— 适合工作时段的持续监控,不能替代服务器侧的 CI。</li>
|
||
</ul>
|
||
<blockquote>
|
||
<p>提示:定时触发的请求同样走当前环境与 Mock 设置;跨环境回归前先在顶栏切换环境。</p>
|
||
</blockquote>
|
||
<h2 id="sec-4">AI 生成用例</h2>
|
||
<p>见 <a href="/docs/ai">AI 助手</a>。配置模型供应商后,「AI 生成」会读取集合的 HTTP 接口清单(方法、URL、Body 示例),按业务依赖编排步骤、断言与变量提取,生成前可附加一句要求(如「重点覆盖登录态与分页」),预览确认后保存。</p>
|
||
|
||
</article>
|
||
|
||
<div class="pn-nav">
|
||
|
||
<a class="pn prev" href="/docs/manage"><span class="pn-label">← 上一页</span><span class="pn-title">集合与历史</span></a>
|
||
|
||
|
||
<a class="pn next" href="/docs/ai"><span class="pn-label">下一页 →</span><span class="pn-title">AI 助手</span></a>
|
||
|
||
</div>
|
||
|
||
|
||
</main>
|
||
|
||
<aside class="toc">
|
||
<div class="toc-title">本页目录</div>
|
||
<nav class="toc-nav">
|
||
<a class="toc-l2" href="#sec-1">场景用例</a>
|
||
<a class="toc-l2" href="#sec-2">运行报告</a>
|
||
<a class="toc-l2" href="#sec-3">定时任务</a>
|
||
<a class="toc-l2" href="#sec-4">AI 生成用例</a>
|
||
|
||
</nav>
|
||
</aside>
|
||
</div>
|
||
|
||
<script src="/docs/assets/docs.js" defer></script>
|
||
</body>
|
||
</html>
|