Record Browser Sessions and Export Evidence Bundles
Capture named recordings, export shareable evidence bundles with network HAR and screenshots, and generate Playwright regression tests.
GSD Browser treats every recorded session as a first-class audit artifact. A recording captures network traffic, annotated screenshots, and a full narration log — all packaged into a portable evidence bundle you can share, archive, or automatically convert into a Playwright regression test. This workflow is designed for flows that need to be reproduced, audited, or handed to a compliance team.
Perform your browser actions — through the CLI, MCP tools, or manual takeover in the live viewer. Then stop the recording:
gsd-browser record-stop
In MCP mode, use browser_record_start and browser_record_stop. Recordings started during an active live viewer session are automatically enriched with human annotations and frame-level context.
Always review the generated test before committing it. The generator uses versioned refs (@vN:eM) as starting locators — replace them with stable Playwright locators (getByRole, getByText, etc.) and tune assertion strictness before running in CI. The generator embeds review comments directly in the output to guide you.
The generated test includes:
A test.describe block with step-by-step replay of every recorded action
DOM assertions per step (element counts, text content)
Screenshot reference comments for visual cross-checking
Use exported bundles and generated tests in your CI pipeline:
.github/workflows/regression.yml
- name: Validate evidence bundle run: gsd-browser recording-validate "$BUNDLE_DIR" --json- name: Run reviewed regression test run: npx playwright test tests/checkout-regression.spec.ts --reporter=list
Store reviewed generated tests in your repository under tests/e2e/. Store exported bundles as CI artifacts for audit and replay. Re-record when major UI changes invalidate the existing test.
Run your browser actions via CLI, MCP, or manual takeover. Use annotation-request at key decision points to embed “why this step matters” notes in the narration log.
gsd-browser --session checkout annotation-request "Confirm total before payment"