Flow Recording
Capture multi-step user workflows for comprehensive UX audits
Flow Recording
Flow recording captures multi-step user workflows so you can audit entire processes, not just single pages. Use it to test login flows, checkout processes, wizard forms, onboarding sequences, and any multi-page user journey.
Why Record Flows?
Single-page audits miss issues that only appear during interaction:
| Single-page scan | Flow recording |
|---|---|
| Static page state | Dynamic state changes |
| One URL | Multiple pages/routes |
| No interaction context | Full user journey |
| Misses conditional UI | Catches all states |
Example issues flow recording catches:
- Form validation messages that appear on submit
- Focus management when navigating between steps
- Error states after invalid input
- Success pages after completing a process
- Loading states during async operations
When to Use Flow Recording
Record flows when auditing:
- Login/signup flows - Form validation, error messages, success redirects
- Checkout processes - Cart, shipping, payment, confirmation
- Wizard forms - Multi-step registration, onboarding
- Search workflows - Query, results, filtering, detail views
- Account settings - Navigation between settings pages
- Any multi-step process - Where users move through states
How to Record a Flow
Starting a Recording
- Open the Side Panel (
Ctrl+Shift+UorCmd+Shift+U) - Navigate to your starting point (e.g., login page)
- Click "Start Recording" in the Recording Controls section
- A red recording indicator appears in the panel
Start from a clean state when possible. For login flows, start logged out. For checkout, start with an empty cart.
Performing Actions
With recording active, interact with the page normally:
- Click buttons, links, and interactive elements
- Fill form fields with test data
- Navigate between pages (recording continues)
- Use keyboard shortcuts and tab navigation
- Submit forms and wait for responses
The recorder captures each action as it happens.
Stopping the Recording
- Click "Stop Recording" when your flow is complete
- A preview of captured actions appears
- Choose to audit the flow or save for later
Stop at a logical endpoint - after a confirmation page, successful submission, or completion message.
Captured Action Types
The recorder captures these user actions:
Click Events
{
"type": "click",
"selector": "button.submit-btn",
"text": "Submit Order",
"timestamp": 1705312500000
}Captures the element clicked and its text content.
Form Input
{
"type": "input",
"selector": "input#email",
"field_type": "email",
"value": "test@example.com",
"timestamp": 1705312510000
}For security, password fields are recorded as masked values ("value": "••••••••"). The actual password is not stored.
Keyboard Events
{
"type": "keyboard",
"key": "Tab",
"target": "input#email",
"timestamp": 1705312520000
}Captures Tab, Enter, Escape, and arrow key navigation.
Navigation Events
{
"type": "navigation",
"from": "https://example.com/cart",
"to": "https://example.com/checkout",
"timestamp": 1705312530000
}Records page transitions during the flow.
After Recording: Preview and Audit
Previewing the Flow
After stopping, view your captured actions:
Preview shows:
- Numbered list of actions in order
- Action type icon (click, input, navigation)
- Target element or page
- Timestamps
Review for:
- Missing steps (did you forget something?)
- Extra steps (accidental clicks to remove)
- Correct order (actions in expected sequence)
Running the Flow Audit
Click "Audit Flow" to analyze the entire recording:
- The extension replays each action
- At each step, a scan runs on the current page state
- Issues are collected across all steps
- Final report shows issues from the entire flow
Audit results include:
- Issues grouped by step/page
- Timeline view of when issues appeared
- Summary across the full flow
Flow Report
The flow audit report provides comprehensive results:
Summary Section
Flow Audit: Checkout Process
Duration: 45 seconds
Steps: 8
Pages: 4
Total Issues: 12Issues by Step
| Step | Page | Issues |
|---|---|---|
| 1 | /cart | 2 |
| 2 | /checkout/shipping | 3 |
| 3 | /checkout/payment | 5 |
| 4 | /checkout/confirm | 2 |
Click a step to see issues found at that point in the flow.
Issue Details
Each issue includes:
- Which step it was discovered
- The page state when found
- Standard issue details (severity, element, description)
Cross-Page Recording
Recordings continue across page navigations:
How It Works
- Before navigation, current recording state is saved
- Page unloads and new page loads
- Recording resumes on new page
- Content script picks up where it left off
Limitations
Cross-page recording works with:
- Same-origin navigations (same domain)
- SPA route changes (React Router, Vue Router, etc.)
- Form submissions that navigate
Cross-page recording does NOT work with:
- Cross-origin navigations (different domain)
- OAuth redirects to third-party auth
- Payment processor redirects
- New windows or tabs
For flows that redirect to third-party services (like Stripe Checkout or OAuth), record up to the redirect, then start a new recording after returning.
Saving and Replaying Flows
Saving a Recording
After stopping a recording:
- Click "Save Flow" in the preview
- Enter a name (e.g., "Checkout - Guest User")
- Flow is saved to local storage
Viewing Saved Flows
- In Side Panel, click "Saved Flows" tab
- See list of saved recordings
- Click to preview or audit
Exporting Flows
Export flows for sharing or CI integration:
JSON format:
{
"name": "Checkout - Guest User",
"created": "2024-01-15T10:30:00Z",
"starting_url": "https://example.com/cart",
"actions": [
{"type": "click", "selector": "button.checkout", ...},
{"type": "input", "selector": "input#email", ...}
]
}Use exported flows with the CLI for automated testing.
Best Practices
Before Recording
- Start from a clean state - Clear cookies/storage if needed
- Plan your flow - Know the steps before recording
- Use realistic data - Test with real-looking inputs
During Recording
- Wait for page loads - Don't click before content appears
- Be deliberate - Avoid accidental clicks
- Include error paths - Try invalid inputs too
After Recording
- Preview before audit - Verify captured steps
- Remove mistakes - Edit out accidental actions
- Save important flows - For regression testing
Example: Recording a Checkout Flow
Walk through a complete checkout process:
Step 1: Prepare
- Start on the cart page with items added
- Ensure you are not logged in (testing guest checkout)
- Open Side Panel and navigate to Recording Controls
Step 2: Record
- Click "Start Recording"
- Click "Proceed to Checkout" button
- Fill shipping form fields:
- Name:
Test User - Address:
123 Test Street - City:
Test City
- Name:
- Click "Continue to Payment"
- Fill payment form (use test card:
4242 4242 4242 4242) - Click "Place Order"
- Wait for confirmation page
- Click "Stop Recording"
Step 3: Audit
- Preview shows 8 captured actions
- Click "Audit Flow"
- Extension replays the flow, scanning each page
- Review issues found across the checkout process
Step 4: Triage
Issues commonly found in checkout flows:
- Form labels missing or misassociated
- Error messages not announced to screen readers
- Focus not managed after step transitions
- Loading states without accessible feedback
- Confirmation page missing success announcement
Troubleshooting
Recording Stops Unexpectedly
- Page may have reloaded fully (instead of SPA navigation)
- Check if extension was disabled
- Try starting a new recording
Actions Not Captured
- Wait for elements to be interactive before clicking
- Very fast clicks may be debounced
- Custom components may need specific selectors
Replay Fails
- Page may have changed since recording
- Selectors may no longer match
- Try re-recording with the current page state
No Issues Found
- Flow may have been too fast for full scan
- Try running manual scans at key states
- Check if issues are filtered out
Next Steps
Side Panel
Triage flow issues in the Side Panel
Overlays
See issues highlighted on each flow step
CLI Audit
Run recorded flows in CI/CD pipelines
Related
- SDK Audits - Programmatic flow testing
- CI/CD Integration - Automate flow testing in pipelines
Was this page helpful?