用 visual-qa-testing 在 Cursor 里做视觉 QA:截图、控制台与网络请求一次过

前言

改完前端样式或交互之后,最常见的验证方式是:手动打开浏览器,看一眼页面,再打开 DevTools 扫控制台和 Network。流程不复杂,但一来回就要离开编辑器,改一轮验一轮,容易漏掉布局错位、 hydration 报错或接口 4xx。

Cursor 的 Agent 自带浏览器能力,可以通过内置的 cursor-ide-browser MCP 打开页面、截图、读控制台、查网络请求。社区仓库 spencerpauly/awesome-cursor-skills 里的 visual-qa-testing Skill,把这套检查写成固定工作流,让 Agent 在改完 UI 后按步骤做一轮视觉 QA,而不必你反复切换窗口。

本文基于该 Skill 的 SKILL.md 原文,以及 Cursor 官方 Browser / Agent Skills 文档整理,说明它是什么、怎么装、怎么用。

这是什么

visual-qa-testing 是一份面向 Agent 的视觉 QA 操作说明。官方描述是:在 Cursor 内置浏览器中启动 Web 应用,截图、检查控制台错误,并审计网络请求;适合在做出 UI 改动之后,验证页面是否看起来正确。

它收录在社区维护的 Skill 合集 awesome-cursor-skillsresources/visual-qa-testing/ 目录下,本身只有一个 SKILL.md 文件,没有额外脚本。Skill 并不替代 Playwright、Cypress 这类自动化测试框架,而是把「打开页面 → 看图 → 看日志 → 看请求」这条人工检查路径,固化成 Agent 可执行的步骤。

Agent Skills 是开放标准。Cursor 会从项目级或用户级的 skills 目录自动发现 SKILL.md;同一套格式也可放到 Claude Code、Codex 等兼容目录。需要注意的是:本 Skill 明确依赖 Cursor 的内置浏览器工具,在其他环境若没有等价的 browser MCP,完整流程可能无法按原文执行。

核心能力

根据 SKILL.md,这套流程主要做以下几件事:

  1. 确认开发服务已启动
    Agent 会先检查是否已有终端在跑 dev server;没有则在后台执行 npm run dev,并等待输出里出现 ready 或 localhost 地址。

  2. 导航到目标页面并截图
    使用 browser_navigate 打开本地地址(例如 http://localhost:3000),可顺带截图;再用 browser_take_screenshot(可设 fullPage: true)抓取整页,用于检查布局断裂、内容缺失、颜色不对、元素错位等问题。

  3. 检查控制台
    通过 browser_console_messages 读取控制台信息,重点关注 TypeErrorReferenceError、失败的 import,以及 React hydration mismatch 等。

  4. 审计网络请求
    通过 browser_network_requests 查看请求,关注 4xx/5xx、CORS 错误、异常大的响应,以及不必要的重复请求。

  5. 按需交互后再验一次
    若改动涉及按钮、表单、弹窗等,可用 browser_clickbrowser_fillbrowser_hover 操作,再截图确认结果。

  6. 汇总报告
    最后从界面是否正常、控制台是否干净、网络是否健康三方面给出结论。

Cursor 官方 Browser 文档也确认:Agent 可以导航、点击、输入、截图、读取控制台与网络流量,并且会尽量识别已有的开发服务端口,避免重复启动。这与该 Skill 的设计是对齐的。

安装与启用

用 npx skills 安装

skills.sh 与 vercel-labs 的 skills CLI 提供的安装命令如下:

npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill visual-qa-testing

若目标是 Claude Code,社区镜像页也给出过带 --agent claude-code 的写法,会安装到项目的 .claude/skills/。以你实际使用的 Agent 与 CLI 帮助信息为准。

手动放到 Cursor 的 skills 目录

Cursor Agent Skills 文档,Skill 会被自动加载的位置包括:

位置 作用范围
.agents/skills/ 项目级
.cursor/skills/ 项目级
~/.agents/skills/ 用户级(全局)
~/.cursor/skills/ 用户级(全局)

为兼容其他工具,Cursor 也会从 .claude/skills/.codex/skills/ 以及对应的用户级目录加载。每个 Skill 是一个包含 SKILL.md 的文件夹,例如:

.cursor/skills/visual-qa-testing/SKILL.md

你也可以在 Cursor 侧边栏 Customize → Rules 中选择 Remote Rule (Github),填入仓库地址导入(文档说明 Skills 可通过 GitHub 仓库链接安装)。

安装后,在 Agent 聊天里输入 /,搜索 visual-qa-testing 可手动调用;Agent 也可能根据上下文在改 UI 后自动选用相关 Skill。

典型用法

改完某个页面后,可以直接对 Agent 说类似:

我刚改了 /settings 页的布局,用 visual-qa-testing 做一轮视觉 QA。

或显式输入 /visual-qa-testing。按官方 SKILL.md,Agent 大致会按下面顺序执行。

1. 启动或复用开发服务

npm run dev

等待终端出现 ready 或 localhost URL。若项目启动命令不是 npm run dev,应在提示里写明实际命令(例如 pnpm devvite)。

2. 打开页面

Tool: browser_navigate
Arguments: { "url": "http://localhost:3000/settings", "take_screenshot_afterwards": true }

端口和路由按你的项目调整。文档建议可用 position: "side",让浏览器面板开在代码旁边。

3. 全页截图

Tool: browser_take_screenshot
Arguments: { "fullPage": true }

4. 读控制台与网络

Tool: browser_console_messages
Tool: browser_network_requests

5. 需要点击前先 snapshot

Skill 注明:点击元素前应先用 browser_snapshot 取得正确的 element ref;做响应式检查可用 browser_resize 切换视口尺寸。

6. 看报告

期望输出会覆盖:截图上 UI 是否正常、控制台有无错误、网络请求有无失败。

适用场景与注意事项

适合的情况大致是:

  • 刚改完前端样式、布局或组件交互,想快速肉眼级回归;
  • 希望 Agent 顺带扫一遍控制台与接口失败,而不是只说「看起来没问题」;
  • 本地已有可访问的 Web 前端(常见是 localhost 上的 SPA / SSR 应用)。

使用前注意几点:

  1. 依赖 Cursor 内置浏览器
    Skill 写明依赖 cursor-ide-browser。需在 Cursor 中启用 Browser / Browser Automation(Settings → Tools & MCP),且浏览器工具处于可用状态。社区反馈里也有过工具未连接、需重启或开关 Browser Automation 的情况。

  2. 它是流程说明,不是测试框架
    没有断言 DSL、没有稳定的 CI 报告格式;复杂回归仍建议保留 Playwright 等专用方案。它更适合「改完马上验一眼」的开发中反馈环。

  3. 启动命令与端口要因项目调整
    原文示例是 npm run devlocalhost:3000。非 Node 前端或端口不同时,应在对话里写清楚,避免 Agent 猜错。

  4. 权限与安全
    Cursor 官方说明:浏览器工具默认需要你审批操作;企业环境还可能受 MCP / Origin Allowlist 限制。对未信任站点不要随意开 auto-run。

  5. 跨工具可移植性有限
    SKILL.md 文件格式可放到 Claude Code、Codex 目录,但本 Skill 的工具名与「Cursor 内置浏览器」绑定;在其他 Agent 上需确认是否具备同等 browser 能力。

小结

visual-qa-testing 把「截图看界面 + 查控制台 + 查网络」写成 Agent 可跟随的步骤,把视觉 QA 嵌进 Cursor 的编码闭环里,很适合前端改完立刻验收。它来自社区仓库 awesome-cursor-skills,能力本身建立在 Cursor 官方 Browser 工具之上。

官方地址:

  • Skill 目录:https://github.com/spencerpauly/awesome-cursor-skills/tree/main/resources/visual-qa-testing
  • Cursor Skills 文档:https://cursor.com/docs/skills
  • Cursor Browser 文档:https://cursor.com/docs/agent/tools/browser
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜