插件管理
对下拉、树选、日期选择器这类组件,「点开了但没选上」是 UI 自动化最常见的假成功。插件系统用语义动作解决这个问题:按组件库变体精确操作,并用页内后验校验确认结果。
插件 Tab(内置插件与试运行)→ 预设 Tab(编排与关联)
插件 Tab

插件管理:上传插件、插件模板、插件技能;列表展示来源、所属预设、动作
工具栏三个入口:
| 按钮 | 说明 |
|---|---|
| 上传插件 | 上传自定义插件(.js 单文件或 .zip 包,单文件 ≤ 512KB) |
| 插件模板 | 下载插件开发模板项目(zip):内置示例组件、骨架插件与离线验收 harness,按 README 跑通插件开发全流程 |
| 插件技能 | 下载 tt-plugin-from-source 技能包(zip):放入被测项目 .claude/skills/ 后,编程 agent 扫描项目源码自动生成测试插件 |
列表列:名称(含版本号)/ 来源(内置、上传)/ 所属预设(如「默认组合」「element」,未加入预设则提示「暂不会被注入」)/ 动作 / 说明。
动作列:显示动作数量角标,悬停可预览动作清单(动作名 + 说明);上传后尚未试运行时显示「试运行后回写」。
行操作:
| 按钮 | 作用 |
|---|---|
| 🧪 试运行 | 在指定页面地址上运行一次插件:探测 detect 命中数、候选总数,并把动作清单回写到「动作」列。任意可打开的页面均可,无需包含目标组件 |
| ⬆️ 重新上传 | 更新自定义插件源码(仅上传插件有此按钮;预设关联保持不变,动作清单在下次试运行后按新源码回写) |
| 🗑 删除 | 删除插件(内置插件不可删除) |
安全提示
插件代码将在被测网站的浏览器环境中执行,请仅在理解其内容后启用。
内置插件
内置插件按组件库变体精确适配,开箱即用:
| 组件 | Ant Design | Element(element-ui / element-plus) | Vant | MUI |
|---|---|---|---|---|
| 下拉选择 select | ✅ | ✅ | ✅ | ✅ |
| 树形选择 tree-select | ✅ | ✅ | — | — |
| 日期选择 date-picker | ✅ | ✅ | ✅(日历/滚轮) | — |
| 时间选择 time-picker | ✅ | ✅ | — | — |
| 滑块 slider | ✅ | ✅ | ✅ | ✅ |
| 级联选择 cascader | ✅ | ✅ | — | — |
试运行
插件的动作清单需在页内注册后才能得知。点操作列的「试运行」:
- 输入任意可打开的页面地址即可,无需包含目标组件;
- 运行后自动回写动作清单(detect 命中数、候选总数、动作列表)。
预设 Tab
「预设」是插件的执行编组,决定生成与回放时哪些插件被注入浏览器:

预设:默认组合(内置 18 个成员)、element(自定义)
- 成员编排:编辑预设时可拖拽行调整顺序,数字越大优先级越高、越先注入;新加入的插件自动获得最高优先级。
- 关联项目:在编辑预设中关联测试项目;只有项目关联了预设,其中的插件才会被注入生效。
行操作:
| 按钮 | 作用 |
|---|---|
| ✏️ 编辑 | 打开预设编辑:改名、增删成员并拖拽编排优先级、关联项目 |
| 🗑 删除 | 删除预设(内置预设「默认组合」不可编辑/删除) |
自定义插件
针对自研组件或未覆盖的组件库变体,上传自己的插件:
- 格式:单个
.js文件,或.zip包(manifest.json+ 入口文件)。 - 生效两步:上传后在「预设」Tab 加入某个预设 → 让测试项目关联该预设。
- 上传后点一次「试运行」,动作清单会按新源码回写。
想自己写一个?
完整开发指南(四插槽 API、三态结果协议、pw 桥、离线验收 harness、用编程 agent 自动生成)见插件开发。
工作原理
- detect 命中:注入到被测页面的插件先探测页面上是否存在自己适配的组件。
- 语义动作:命中后提供该组件的动作词表(如「选择下拉项」),AI 生成与回放时改用语义动作而非裸 click/fill。
- 三态结果协议:每个动作返回 成功 / 失败 / 未命中 三态,不做含糊处理。
- 页内后验校验:动作完成后在页面里验证「真的选上了」,拦截假成功。