SuperAPI AI 工具集

eve-web-ui-testing-agent-browser

测试与质量

查看项目

更新于 10-15 14:36

技能介绍

用途

该技能面向 Web UI 测试与浏览器自动化。默认使用 agent-browser 作为在应用仓库中执行确定性 UI 检查的 CLI;在 Eve Horizon 仓库内部,则优先使用仓库自带的 Playwright 封装。

主要能力

  • 通过 agent-browser 执行导航、快照、交互、断言与截图等 UI 检查流程。
  • 支持会话(session)与配置文件(profile)隔离,避免测试间状态泄漏。
  • 支持 CI 环境变量配置,以及可选的云提供商(Browserbase、Browser Use、Kernel)与代理测试。
  • 在 Eve Horizon 仓库内提供仓库自带的 Playwright 封装,可直接针对本地 dashboard 运行,并支持 codegen、截图与 Playwright 测试套件。

安装

agent-browser 安装方式:

# macOS/Linux (recommended)
npm install -g agent-browser
agent-browser install

# Linux containers/VMs that need extra browser libs
agent-browser install --with-deps

macOS 替代安装:

brew install agent-browser
agent-browser install

可选安装上游技能(若运行时支持技能安装):

eve skill install https://github.com/vercel-labs/agent-browser

使用方式

配置可靠运行

为每个测试目标使用隔离状态:

# one session per test flow
agent-browser --session login-flow open https://example.com

# persistent auth/session state per app
agent-browser --profile ~/.agent-browser/myapp open https://example.com

CI 环境变量:

export AGENT_BROWSER_SESSION=ci
export AGENT_BROWSER_PROFILE="$PWD/.tmp/agent-browser-profile"
export AGENT_BROWSER_PROVIDER=local

可选云提供商:

  • Browserbase:设置 AGENT_BROWSER_PROVIDER=browserbase、BROWSERBASE_API_KEY、BROWSERBASE_PROJECT_ID
  • Browser Use:设置 AGENT_BROWSER_PROVIDER=browseruse、BROWSER_USE_API_KEY
  • Kernel:设置 AGENT_BROWSER_PROVIDER=kernel、KERNEL_API_KEY

代理测试:

export AGENT_BROWSER_PROXY="http://user:pass@proxy-host:port"

核心工作流

按以下顺序运行每个流程:

  1. 导航:agent-browser open <url>
  2. 快照交互引用:agent-browser snapshot -i
  3. 使用引用交互:agent-browser click @e1、agent-browser fill @e2 "value"
  4. 页面变化后重新快照:agent-browser snapshot -i
  5. 断言输出:agent-browser get text <selector-or-ref>
  6. 捕获产物:agent-browser screenshot <path>

最小测试模板

agent-browser --session smoke open https://example.com/login
agent-browser --session smoke snapshot -i
agent-browser --session smoke fill @e1 "user@example.com"
agent-browser --session smoke fill @e2 "password"
agent-browser --session smoke click @e3
agent-browser --session smoke wait --url "**/dashboard"
agent-browser --session smoke screenshot ./artifacts/login-dashboard.png
agent-browser --session smoke close

防护准则

  • 每次导航或动态 UI 更新后重新快照;引用会失效。
  • 优先使用 snapshot -i 引用,而非脆弱的 CSS 选择器。
  • 在脚本中使用 --json 进行机器可读断言。
  • 每个环境保持一个会话/配置文件,避免跨测试泄漏。
  • 将截图和日志保存为失败运行的产物。

Eve Horizon 仓库封装

在 Eve Horizon 源码仓库内工作时,使用仓库自带的 Playwright 封装,而不是单独安装 agent-browser。它随仓库提供,并默认指向本地 dashboard:

./bin/eh browser install        # one-time per machine / Playwright upgrade
./bin/eh browser dashboard      # headed Chromium with Eve token injected
./bin/eh browser open <url>
./bin/eh browser codegen <url>  # capture a draft Playwright spec
./bin/eh browser screenshot <url> [file]
./bin/eh browser test -g "<name>"  # run the dashboard Playwright suite

默认值:chromium 浏览器、持久配置文件位于 tmp/playwright-browser/profile、截图位于 tmp/playwright-browser/screenshots、codegen 输出位于 tmp/playwright-browser/codegen、dashboard URL 为 http://dashboard.eve.lvh.me、API URL 为 http://api.eve.lvh.me。设置 EVE_API_URL=https://api.eve.example.com 可指向 staging。

./bin/eh browser dashboard 会通过 eve auth token --raw 生成令牌,并将其注入为 sessionStorage.eve_access_token。如果生成失败,先运行 eve auth login。

当需要断言覆盖、CI 保护或回归套件时,将探索性复现升级为提交到 apps/dashboard/e2e/ 下的 Playwright 规格。

参考与模板

  • 完整命令:references/commands.md
  • 引用生命周期:references/snapshot-refs.md
  • 会话策略:references/session-management.md
  • 认证流程:references/authentication.md
  • 代理设置:references/proxy-support.md
  • 视频捕获:references/video-recording.md
  • 可复用脚本:templates/*.sh

适用场景

适用于在应用仓库中执行确定性的 Web UI 检查、浏览器自动化流程,以及在 Eve Horizon 仓库内针对本地 dashboard 进行浏览器操作与 Playwright 测试。

限制

资料未提供该技能的收费、价格、平台支持范围或效果保证等信息。