Skip to content
Back to skills

Browser Test

ASecurity

UI test recipe -- composes browser-record (capture) + browser-replay (verify) so every test produces a replayable RVF artifact, not an ephemeral run

  • 73,733 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aijavascriptgojavabashtestingfrontend

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add ruvnet/ruflo --skill browser-test --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Browser Test?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Browser Test
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ruvnet-browser-test/badge)](https://www.skillsdirectory.com/skills/ruvnet-browser-test)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: browser-test
description: UI test recipe -- composes browser-record (capture) + browser-replay (verify) so every test produces a replayable RVF artifact, not an ephemeral run
argument-hint: "<url> [--screenshot] [--against <prior-session-id>]"
allowed-tools: mcp__claude-flow__browser_open mcp__claude-flow__browser_click mcp__claude-flow__browser_fill mcp__claude-flow__browser_type mcp__claude-flow__browser_press mcp__claude-flow__browser_check mcp__claude-flow__browser_uncheck mcp__claude-flow__browser_select mcp__claude-flow__browser_hover mcp__claude-flow__browser_wait mcp__claude-flow__browser_screenshot mcp__claude-flow__browser_snapshot mcp__claude-flow__browser_get-text mcp__claude-flow__browser_get-title mcp__claude-flow__browser_get-url mcp__claude-flow__browser_get-value mcp__claude-flow__browser_eval mcp__claude-flow__browser_close mcp__claude-flow__browser_session-list mcp__claude-flow__aidefence_is_safe Bash Read Write
---

# Browser Test

Automated UI testing. **Now backed by a recorded RVF session container** instead of an ephemeral run, so every test produces a replayable artifact.

## When to use

- Verifying UI functionality, user flows, or that frontend changes work in a real browser.
- Producing a baseline session that future regressions can diff against.
- Re-running a stored test session when CI fails (no need to re-author the test).

## Steps

1. **Record the test run** by composing `browser-record`:
   - Allocates an RVF container with `--kind browser-session`.
   - Begins a ruvector trajectory.
2. **Drive interactions** — `browser_open`, `browser_click`, `browser_fill`, `browser_type`, `browser_select`. Each action emits a `trajectory-step`.
3. **Wait** for elements / network idle via `browser_wait` before assertions.
4. **Validate** with `browser_get-text` / `browser_get-value` / `browser_get-title` / `browser_get-url`. Validation outcomes go into `findings.md` inside the RVF container.
5. **Screenshot** before / after key interactions for visual regression. Filenames follow `<step-id>.png`.
6. **Snapshot** the accessibility tree at navigation boundaries.
7. **End** the session: `trajectory-end --verdict pass|fail`, `rvf compact`, AgentDB index in `browser-sessions`.
8. **(Optional) Diff against `--against <prior-session-id>`**: invoke `browser-screenshot-diff` to compare the new run with a baseline.

## Navigation

- `browser_back` / `browser_forward` for history navigation
- `browser_reload` to refresh the page
- `browser_scroll` to scroll to elements or coordinates

## What changed from v0.1.0

- The skill no longer ends with `browser_close` alone — it ends with the session-end protocol.
- Selectors discovered during the test land in `browser-selectors` (host:intent), so the next test can find them by embedding similarity.
- Validation outputs pass `aidefence_is_safe` before any LLM-facing summary; injection-flagged content is quarantined to `findings.md`.
- The same skill, used in CI, now produces an artifact that `/ruflo-browser replay` can re-drive.

## Tips

- Use `browser_wait` before assertions to handle async rendering.
- For visual regression, save the parent session id and pass `--against <id>` on the next run.
- Use `browser_eval` for custom JavaScript assertions — but redact any returned strings via the `aidefence_is_safe` gate before logging.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…