本目录收录了四套面向 AI Agent 的自动化技能,覆盖 浏览器自动化 、移动/桌面设备自动化 、API 接口测试 三大场景。大模型加载对应 skill 后,可直接输出正确的命令行或测试代码来驱动自动化任务。
git地址:https://gitee.com/qatech/auto-test-relate-skills
技能总览
| 技能 | 类型 | 目标平台 | 语言/运行时 | 一句话描述 |
|---|---|---|---|---|
| agent-browser | 浏览器 CLI 自动化 | Web / Electron 桌面应用 | Rust CLI | 通过 CDP 协议驱动 Chrome/Chromium,用无障碍树快照 + @eN 元素引用实现快速网页交互 |
| agent-device | 设备 CLI 自动化 | iOS / Android / Web / macOS / TV | CLI | 在真机或模拟器上操作 App:打开、快照、点击、填写、滚动、验证、调试 |
| playwight-api | API 接口测试 | RESTful API | TypeScript (Playwright) | 用 Playwright APIRequestContext 编写类型安全的 API 测试,覆盖 CRUD、认证、错误处理、分页等 |
| playwright-skill | 浏览器脚本自动化 | Web | JavaScript (Playwright) | 编写自定义 Playwright 脚本完成页面测试、表单填写、截图、响应式验证、登录流程等 |
1. agent-browser
定位:快速浏览器自动化 CLI,面向 AI Agent 设计。
核心特性:
-
Rust 原生 CLI,非 Node.js 封装,启动快
-
通过 CDP 协议连接 Chrome/Chromium,不依赖 Playwright/Puppeteer
-
无障碍树 (accessibility tree) 快照 +
@eN元素引用,交互可靠 -
会话管理、认证保险库、状态持久化、视频录制
-
专项子技能:Electron 桌面应用、Slack 自动化、探索性测试、HAR 导出 API 客户端、Vercel Sandbox、AWS Bedrock AgentCore
适用场景:
-
导航网页、填写表单、点击按钮、截图、抓取数据
-
探索性测试 / QA / Bug 狩猎
-
自动化 Electron 桌面应用(VS Code、Slack、Discord、Figma、Notion、Spotify 等)
-
Slack 工作区自动化(消息收发、会话搜索)
安装:
npm i -g agent-browser && agent-browser install
快速上手:
agent-browser skills get core # 加载核心工作流
agent-browser skills get core --full # 包含完整命令参考
agent-browser skills list # 查看所有可用子技能
文件 :agent-browser/SKILL.md
2. agent-device
定位:设备端 App 自动化 CLI,支持 iOS / Android / Web / macOS / TV 全平台。
核心特性:
-
标准工作流:
open → snapshot -i → mutate(--settle) → diff snapshot → close -
丰富的 UI 交互命令:press / click / fill / type / longpress / scroll / swipe / gesture
-
--settle机制:mutation 命令自动等待 UI 稳定后再返回
-
diff snapshot增量验证:只打印上次快照后的变化,省 token
-
选择器系统:
@ref、label=、role=button label=、id=等 -
调试诊断:日志、网络流量、性能指标、Trace 捕获、CDP、React DevTools
-
录制回放:screen recording、session replay、Maestro flow、batch 批量执行
-
13 个专项工作流:manual-qa、dogfood、validate、debugging、tv、react-native 等
适用场景:
-
在手机/模拟器上自动化操作 App
-
手动 QA 步骤执行、探索性测试、工程验证
-
截图、日志、网络流量、性能 trace 采集
-
React Native / Expo 应用调试
快速上手:
agent-device open MyApp --platform ios
agent-device snapshot -i
agent-device fill 'label="Email"'"user@example.com" --settle
agent-device press 'role=button label="Login"' --settle
agent-device diff snapshot -i
agent-device close
文件 :agent-device/SKILL.md
3. playwight-api
定位 :基于 Playwright APIRequestContext 的 RESTful API 接口测试技能。
核心特性:
-
使用 Playwright 原生
APIRequestContext,无需引入外部 HTTP 库 -
TypeScript 类型安全:为所有请求/响应定义接口
-
测试隔离:每个测试管理自己的数据生命周期(创建 → 验证 → 清理)
-
全面验证:状态码、响应头、响应体结构、响应时间
-
可复用的 API 客户端类:按服务域封装 BaseApiClient → DomainApiClient
-
自定义 Fixture:注入 API 客户端和认证 Token
适用场景:
-
RESTful API 的 CRUD 测试
-
认证流程测试(登录、Token 验证、权限控制)
-
错误处理与输入验证(400/401/403/404/409)
-
分页与过滤测试
-
响应头与安全头校验
-
响应时间断言
-
文件上传测试
项目结构:
tests/api/ --- 按服务域组织的测试文件
fixtures/ --- API Fixture(客户端注入 + 认证)
models/ --- TypeScript 接口定义
clients/ --- BaseApiClient + 领域客户端
utils/ --- 辅助工具
快速上手:
import { test, expect } from'../fixtures/api.fixture';
test('POST /users - should create a new user', async ({ usersApi }) => {
const response = await usersApi.create({
email: `test-${Date.now()}@example.com`,
name: 'Test User',
password: 'SecurePass123!',
role: 'user',
});
expect(response.status()).toBe(201);
const body = await response.json();
expect(body.id).toBeTruthy();
});
文件 :playwight-api/SKILL.md
4. playwright-skill
定位:通用浏览器自动化技能,编写自定义 Playwright 脚本完成各类网页任务。
核心特性:
-
自动检测本地开发服务器(
detectDevServers()) -
脚本写入
/tmp,不污染用户项目目录 -
默认使用可见浏览器(
headless: false),便于调试 -
URL 参数化:通过环境变量或常量配置目标地址
-
丰富的辅助工具(
lib/helpers.js):安全点击、安全输入、截图、Cookie 处理、表格数据提取 -
自定义 HTTP Headers:通过环境变量注入全局请求头
-
内联执行:简单任务可直接传代码字符串,无需创建文件
-
附带完整 API 参考(
API_REFERENCE.md):选择器、网络拦截、认证管理、视觉回归、移动端模拟、性能测试、CI/CD 集成等
适用场景:
-
页面功能测试(多视口响应式验证)
-
登录流程验证
-
表单填写与提交
-
死链检测
-
截图与错误处理
-
页面数据抓取
快速上手:
# 1. 安装(首次)
cd$SKILL_DIR && npm run setup
# 2. 检测开发服务器
cd$SKILL_DIR && node -e "require('./lib/helpers').detectDevServers().then(s => console.log(JSON.stringify(s)))"
# 3. 执行测试脚本
cd$SKILL_DIR && node run.js /tmp/playwright-test-page.js
文件:
-
playwright-skill/SKILL.md--- 核心使用指南
-
playwright-skill/API_REFERENCE.md--- 完整 API 参考
-
playwright-skill/run.js--- 通用执行器
-
playwright-skill/lib/helpers.js--- 辅助工具函数
技能选型指南
需要自动化什么?
│
├── 操作手机/模拟器上的 App
│ └── → agent-device (iOS/Android/TV)
│
├── 操作桌面应用 (macOS)
│ └── → agent-device (macOS) 或 agent-browser (Electron 应用)
│
├── 浏览器网页交互(CLI 方式,快速)
│ └── → agent-browser (CDP 驱动,无障碍树快照)
│
├── 浏览器网页测试(脚本方式,可复用)
│ └── → playwright-skill (自定义 Playwright 脚本)
│
└── API 接口测试
└── → playwight-api (Playwright APIRequestContext)
共性设计理念
-
面向 AI Agent
:所有技能都设计为让大模型直接输出可执行命令或代码,而非人类手动操作
-
快照驱动
:通过无障碍树/ accessibility tree 快照获取页面状态,用元素引用 (ref) 定位目标
-
增量验证
:优先使用 diff(变化量)而非全量快照来验证操作结果,节省 token
-
反模式保护
:每个技能都明确列出"不要做什么",防止模型犯常见错误