Testagent Browser Testing

使用 Playwright MCP、browser-use CLI 及 openclaw 内置浏览器,遵循完整测试 SOP(规划、执行、报告),实现网页产品的功能测试。

已扫描
适合谁
开发团队成员、质量保障(QA)人员
不适合谁
无技术环境配置能力的初学者、无需自动化测试的非技术用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @wangyin717/testagent-browser-testing

Skill 说明

命令、参数、文件名以原文为准

浏览器测试

⚠️ 基础规则(每次测试前必须确认 — 不得跳过)

1. 截图必须使用 Playwright MCP — 禁止使用内置浏览器的截图功能

内置浏览器的 browser screenshot 仅返回 AI 分析文本;MEDIA: 无法渲染该内容,用户将无法看到图片。

正确的截图方式:调用 playwright__browser_take_screenshot → 保存为文件 → 使用 MEDIA:<路径> 显示。

2. 使用内置浏览器前,务必检查 ssrfPolicy 允许列表

目标域名和登录域名(如 Auth0)必须存在于 ~/.openclaw/openclaw.json 中的 allowedHostnames 列表内,否则导航会因策略阻止而失败。

修改配置后,必须执行完整重启流程:browser stopgateway restart → 等待 15 秒 → browser start

3. 遇到字体或环境问题时,先运行 browser-setup 脚本 — 不要手动排查

如中文乱码、浏览器启动超时等问题,应优先运行 bash testagent-browser-setup/scripts/setup.sh,而非手动安装字体或逐项调试。


测试标准操作流程(SOP)

阶段一:收集启动信息

收到测试请求后,仅询问无法自行获取的信息:

  1. 目标 URL(若用户未提供)
  2. 测试账号及密码(用于登录)
  3. 测试目标描述(例如:“测试创建团队功能”)

在未实际查看产品前,不要询问产品细节(字段格式、必填项、辅助账号等),这些信息可在登录后自行验证。

阶段二:探索产品并拟定测试计划(需用户确认)

  1. 根据 [REFERENCE.md 工具选择](REFERENCE.md#tool-selection) 选择主工具
  2. 若使用内置浏览器,在导航前确认 ~/.openclaw/openclaw.json 中的 browser.ssrfPolicy.allowedHostnames 是否包含目标域名和登录域名;若不包含,需添加并执行完整重启流程(参见 [REFERENCE.md 常见陷阱](REFERENCE.md#pitfalls)),再进行导航
  3. 访问目标 URL 并自动登录
  4. 视口检查(强制要求,由你自主判断):使用 Playwright MCP 截图,自行判断页面是否适合测试:

- 若内容拥挤、元素重叠、按钮被遮挡或侧边栏挤压主内容区 → 执行 playwright__browser_resize width=1440, height=900,再次截图确认

- 若页面显示正常 → 直接继续

- 无需询问用户,自行决定是否调整

  1. 浏览目标功能区域,了解真实页面结构与交互逻辑
  2. 基于实际页面内容,提出 3–5 个测试点,并等待用户确认或修改后再开始执行
(登录并查看产品后)我计划测试以下场景,请确认是否可行:
1. 创建团队 —— 填写名称和必填字段,验证创建成功
2. 表单校验 —— 检查空必填字段是否提示错误
3. 团队内发送消息 —— 验证消息是否正确显示
4. 边界输入 —— 当团队名称过长时的行为表现

仅在探索中发现确实需要额外信息时才向用户提问(例如:某测试场景需要第二个账号,或特定测试数据)。

阶段三:执行测试(完全自主,不中断用户)

  • 逐一执行每个测试点
  • 一旦发现缺陷,立即截图 —— 不要等到最后统一处理(页面状态可能随时变化)
  • 截图命名格式:/root/.openclaw/workspace/bug_<编号>_<简短描述>.png
  • 若同一操作连续失败 2–3 次,立即切换工具或策略(参见 [REFERENCE.md 常见陷阱](REFERENCE.md#pitfalls))

阶段四:生成测试报告

所有测试点完成后,在聊天中输出完整报告(格式参考 [REFERENCE.md 报告模板](REFERENCE.md#report-format))。

阶段五:确认提交至 Coding(需用户确认)

报告输出后,询问:

是否将上述 N 个缺陷提交至 Coding?
可调整建议优先级、负责人或截止时间,回复“file it”即可提交,或对个别缺陷指定修改。

用户确认后,调用 coding-net skillcreate_issue 接口批量提交缺陷:

  • issue_type="DEFECT"
  • priority:按 [REFERENCE.md 优先级规则](REFERENCE.md#priority-rules) 设置
  • due_date:当前日期 + 建议修复周期(天数)
  • assignee_id:根据 AGENTS.md 中的分配规则查找成员 ID(可使用 get_team_members_id_and_nameextract_members_from_issue_list 查询)

提交成功后,输出每个缺陷对应的 Coding 任务编号。


关于工具对比、截图流程及报告模板的详细说明,请参阅 [REFERENCE.md](REFERENCE.md)

W
@wangyin717

已收录 1 个 Skill

相关推荐