eve-web-ui-testing-agent-browser

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Web UI Testing with agent-browser

借助agent-browser进行Web UI测试

Use
agent-browser
as the default CLI for deterministic UI checks.
agent-browser
用作确定性UI检查的默认CLI工具。

Install agent-browser

安装agent-browser

bash
undefined
bash
undefined

macOS/Linux (recommended)

macOS/Linux (推荐)

npm install -g agent-browser agent-browser install
npm install -g agent-browser agent-browser install

Linux containers/VMs that need extra browser libs

需要额外浏览器库的Linux容器/虚拟机

agent-browser install --with-deps

Alternative install on macOS:

```bash
brew install agent-browser
agent-browser install
agent-browser install --with-deps

macOS替代安装方式:

```bash
brew install agent-browser
agent-browser install

Configure for Reliable Runs

配置以实现可靠运行

Use isolated state for each test target:
bash
undefined
为每个测试目标使用独立状态:
bash
undefined

one session per test flow

每个测试流程对应一个会话

agent-browser --session login-flow open https://example.com
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

Set environment variables for CI:

```bash
export AGENT_BROWSER_SESSION=ci
export AGENT_BROWSER_PROFILE="$PWD/.tmp/agent-browser-profile"
export AGENT_BROWSER_PROVIDER=local
Optional cloud providers:
  • Browserbase: set
    AGENT_BROWSER_PROVIDER=browserbase
    ,
    BROWSERBASE_API_KEY
    ,
    BROWSERBASE_PROJECT_ID
  • Browser Use: set
    AGENT_BROWSER_PROVIDER=browseruse
    ,
    BROWSER_USE_API_KEY
  • Kernel: set
    AGENT_BROWSER_PROVIDER=kernel
    ,
    KERNEL_API_KEY
For proxy testing:
bash
export AGENT_BROWSER_PROXY="http://user:pass@proxy-host:port"
agent-browser --profile ~/.agent-browser/myapp open https://example.com

为CI环境设置环境变量:

```bash
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
代理测试配置:
bash
export AGENT_BROWSER_PROXY="http://user:pass@proxy-host:port"

Install the Upstream Agent Skill (Optional)

安装上游Agent Skill(可选)

When an agent runtime supports skill install, add the upstream skill pack:
bash
npx skills add vercel-labs/agent-browser
For Eve-managed projects, install from source if needed:
bash
eve skills install https://github.com/vercel-labs/agent-browser
当Agent运行时支持Skill安装时,添加上游Skill包:
bash
npx skills add vercel-labs/agent-browser
对于由Eve管理的项目,如有需要可从源码安装:
bash
eve skills install https://github.com/vercel-labs/agent-browser

Core Workflow

核心工作流程

Run every flow in this sequence:
  1. Navigate:
    agent-browser open <url>
  2. Snapshot interactive refs:
    agent-browser snapshot -i
  3. Interact with refs:
    agent-browser click @e1
    ,
    agent-browser fill @e2 "value"
  4. Re-snapshot after page changes:
    agent-browser snapshot -i
  5. Assert output:
    agent-browser get text <selector-or-ref>
  6. Capture artifacts:
    agent-browser screenshot <path>
按以下顺序执行每个流程:
  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>

Minimal Test Template

最简测试模板

bash
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
bash
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

Guardrails

注意事项

  • Re-snapshot after every navigation or dynamic UI update; refs become stale.
  • Prefer
    snapshot -i
    refs over brittle CSS selectors.
  • Use
    --json
    for machine-readable assertions in scripts.
  • Keep one session/profile per environment to avoid cross-test leakage.
  • Save screenshots and logs as artifacts for failed runs.
  • 每次导航或动态UI更新后重新捕获快照;引用会失效。
  • 优先使用
    snapshot -i
    生成的引用,而非易失效的CSS选择器。
  • 在脚本中使用
    --json
    参数以获得机器可读的断言结果。
  • 每个环境使用一个独立的会话/配置文件,避免测试间的交叉污染。
  • 将失败运行的截图和日志保存为工件。

References and Templates

参考资料与模板

  • Full commands:
    references/commands.md
  • Ref lifecycle:
    references/snapshot-refs.md
  • Session strategy:
    references/session-management.md
  • Authentication flows:
    references/authentication.md
  • Proxy setup:
    references/proxy-support.md
  • Video capture:
    references/video-recording.md
  • Reusable scripts:
    templates/*.sh
  • 完整命令:
    references/commands.md
  • 引用生命周期:
    references/snapshot-refs.md
  • 会话策略:
    references/session-management.md
  • 认证流程:
    references/authentication.md
  • 代理配置:
    references/proxy-support.md
  • 视频录制:
    references/video-recording.md
  • 可复用脚本:
    templates/*.sh