| name | frontend-testing-workflow |
| description | 基于 agent-browser 的前端功能测试流程定义。用于需要编写前端功能测试场景、定义测试步骤和预期结果、或使用 agent-browser 自动化执行前端验证的场景。适用任意 Web 前端项目。 |
Frontend Testing Workflow
基于 agent-browser 的前端功能测试框架。定义可复用的测试流程规范,包含测试场景组织方式、用例格式、执行流程。
何时使用
- 需要为前端功能模块编写测试场景
- 需要定义 agent-browser 自动化测试步骤
- 需要建立项目级前端测试规范
- 需要验收前端功能是否正常工作
目录结构
tests/web/ # 前端测试流程目录
├── README.md # 环境准备、命令速记
├── 00-auth-login.md # 登录模块测试
├── 01-feature-a.md # 功能模块 A
├── 02-feature-b.md # 功能模块 B
└── ...
命名规范
| 文件 | 规则 |
|---|
| 目录 | tests/web/ |
| 文件 | {编号}-{模块名}.md,编号两位数字(00-99) |
| 测试用例 | TC-{文件编号}-{序号}: 描述 |
用例格式
每个 .md 文件的结构:
# 模块名称
简要描述模块功能。
## 前置条件
- 条件 1
- 条件 2
## TC-XX-01: 页面加载验证
```bash
agent-browser open http://localhost:8060/admin/<path>
sleep 2
agent-browser snapshot -i
预期:
- 页面标题应为"..."
- 应包含 xxxx 元素
agent-browser console 无报错
agent-browser errors 无报错
TC-XX-02: 操作功能
agent-browser console --clear
agent-browser click <操作按钮 ref>
sleep 2
agent-browser snapshot -i
预期:
- 应出现 xxx 对话框
- 应包含 xxx 表单字段
agent-browser console 无报错
## 核心流程
### 阶段 1:页面加载验证
每次导航到新页面时,先确认:
1. 页面标题正确
2. 关键元素存在
3. 控制台无报错
```bash
# 打开页面
agent-browser open http://localhost:8060/admin/<path>
# 等待渲染
sleep 2
# 获取页面结构
agent-browser snapshot -i
# 检查控制台
agent-browser console
agent-browser errors
阶段 2:操作执行
单个操作步骤的规范:
agent-browser console --clear
agent-browser errors --clear
agent-browser click <ref>
agent-browser fill <ref> "value"
sleep 2
agent-browser snapshot -i
agent-browser console
阶段 3:结果验证
验证点类型:
| 验证内容 | 方法 |
|---|
| 页面元素 | agent-browser snapshot -i 查看是否存在目标元素 |
| 控制台报错 | agent-browser console 应为空或无 error |
| 页面报错 | agent-browser errors 应为空 |
| 对话框内容 | snapshot -i 检查 dialog/input/button 等 |
| 表格数据 | 检查 cell 内容是否匹配 |
| URL 跳转 | 观察 open 命令返回的 URL |
Ref 处理
agent-browser 每次打开页面时 ref 编号都会变化,因此:
-
测试文档中用描述性占位符:
<创建用户按钮 ref>、<搜索框 ref>、<确定按钮 ref>
-
执行时先用 snapshot 获取实际 ref:
agent-browser snapshot -i
-
常见的 ref 特征:
button "xxx" → 按钮
textbox "xxx" → 文本输入框
cell "xxx" → 表格单元格
menuitem "xxx" → 菜单项
常见 agent-browser 命令
agent-browser open <url>
agent-browser snapshot -i
agent-browser click <ref>
agent-browser fill <ref> <text>
agent-browser type <ref> <text>
agent-browser press <key>
agent-browser console
agent-browser console --clear
agent-browser errors
agent-browser errors --clear
agent-browser screenshot
agent-browser wait <ms>
agent-browser close --all
常用检查模式
检查对话框
snapshot -i | grep -E "dialog|textbox|button.*确定|button.*取消"
期望包含:对话框标题(可通过 grep title)、输入框、确定/取消按钮
检查表格数据
snapshot -i | grep "cell"
期望包含:对应数据单元格
检查页面是否干净
errors
console
完整示例
以下是一个完整的登录测试流程示例:
TC-00-01: 未登录重定向
agent-browser close --all
agent-browser open http://localhost:8060/admin/teams
预期: URL 跳转到 http://localhost:8060/admin/login?redirect=/admin/teams
TC-00-02: 登录成功
agent-browser snapshot -i
agent-browser fill <密钥输入框 ref> "$ADMIN_KEY"
agent-browser click <登录按钮 ref>
sleep 3
agent-browser snapshot -i
预期: 菜单项可见,console 无报错
与其他技能配合
- agent-browser skill(core):进阶用法、技巧、故障排查
- 测试数据准备:可通过
curl 或 hurl 预处理数据,再用 agent-browser 验证前端展示