Skip to content

插件管理

对下拉、树选、日期选择器这类组件,「点开了但没选上」是 UI 自动化最常见的假成功。插件系统用语义动作解决这个问题:按组件库变体精确操作,并用页内后验校验确认结果。

插件 Tab(内置插件与试运行)→ 预设 Tab(编排与关联)

插件 Tab

插件列表

插件管理:上传插件、插件模板、插件技能;列表展示来源、所属预设、动作

工具栏三个入口:

按钮说明
上传插件上传自定义插件(.js 单文件或 .zip 包,单文件 ≤ 512KB)
插件模板下载插件开发模板项目(zip):内置示例组件、骨架插件与离线验收 harness,按 README 跑通插件开发全流程
插件技能下载 tt-plugin-from-source 技能包(zip):放入被测项目 .claude/skills/ 后,编程 agent 扫描项目源码自动生成测试插件

列表列:名称(含版本号)/ 来源(内置、上传)/ 所属预设(如「默认组合」「element」,未加入预设则提示「暂不会被注入」)/ 动作 / 说明

动作列:显示动作数量角标,悬停可预览动作清单(动作名 + 说明);上传后尚未试运行时显示「试运行后回写」。

行操作

按钮作用
🧪 试运行在指定页面地址上运行一次插件:探测 detect 命中数、候选总数,并把动作清单回写到「动作」列。任意可打开的页面均可,无需包含目标组件
⬆️ 重新上传更新自定义插件源码(仅上传插件有此按钮;预设关联保持不变,动作清单在下次试运行后按新源码回写)
🗑 删除删除插件(内置插件不可删除)

安全提示

插件代码将在被测网站的浏览器环境中执行,请仅在理解其内容后启用。

内置插件

内置插件按组件库变体精确适配,开箱即用:

组件Ant DesignElement(element-ui / element-plus)VantMUI
下拉选择 select
树形选择 tree-select
日期选择 date-picker✅(日历/滚轮)
时间选择 time-picker
滑块 slider
级联选择 cascader

试运行

插件的动作清单需在页内注册后才能得知。点操作列的「试运行」:

  • 输入任意可打开的页面地址即可,无需包含目标组件
  • 运行后自动回写动作清单(detect 命中数、候选总数、动作列表)。

预设 Tab

「预设」是插件的执行编组,决定生成与回放时哪些插件被注入浏览器:

预设列表

预设:默认组合(内置 18 个成员)、element(自定义)

  • 成员编排:编辑预设时可拖拽行调整顺序,数字越大优先级越高、越先注入;新加入的插件自动获得最高优先级。
  • 关联项目:在编辑预设中关联测试项目;只有项目关联了预设,其中的插件才会被注入生效

行操作

按钮作用
✏️ 编辑打开预设编辑:改名、增删成员并拖拽编排优先级、关联项目
🗑 删除删除预设(内置预设「默认组合」不可编辑/删除)

自定义插件

针对自研组件或未覆盖的组件库变体,上传自己的插件:

  • 格式:单个 .js 文件,或 .zip 包(manifest.json + 入口文件)。
  • 生效两步:上传后在「预设」Tab 加入某个预设 → 让测试项目关联该预设
  • 上传后点一次「试运行」,动作清单会按新源码回写。

想自己写一个?

完整开发指南(四插槽 API、三态结果协议、pw 桥、离线验收 harness、用编程 agent 自动生成)见插件开发

工作原理

  1. detect 命中:注入到被测页面的插件先探测页面上是否存在自己适配的组件。
  2. 语义动作:命中后提供该组件的动作词表(如「选择下拉项」),AI 生成与回放时改用语义动作而非裸 click/fill。
  3. 三态结果协议:每个动作返回 成功 / 失败 / 未命中 三态,不做含糊处理。
  4. 页内后验校验:动作完成后在页面里验证「真的选上了」,拦截假成功。

TestDog 测试用例管理工具