Test Browsy Flow
Test browsy's page detection and interaction capabilities against a specific URL. Useful for validating that browsy correctly parses a site before deploying agents against it.
Usage
/test-browsy-flow https://example.com/login
What it does
Runs the browsy CLI against a target URL and reports on detection quality:
- Page parsing — fetches the URL and converts it to browsy's Spatial DOM, reporting element counts and types
- Page classification — checks whether browsy correctly identifies the page type (Login, Search, Content, Form, Consent, Verification, Error)
- Suggested actions — validates that browsy suggests the right actions (e.g., Login for a sign-in page, Search for a search engine)
- Element inventory — counts interactive elements (links, buttons, inputs, selects, checkboxes) and checks for missing or misidentified elements
- Hidden content — verifies that dropdown menus, modals, accordion panels, and tab content are exposed with
hidden: true
- Interaction testing — optionally tests clicking, typing, and form submission to verify browsy handles the page's interaction patterns
Workflow
- Run
browsy browse <url> to fetch and parse the page
- Run
browsy page-info to get detection results
- Analyze the Spatial DOM output:
- Count elements by type (links, buttons, inputs, text)
- Check for landmark markers (nav, header, footer, main, form)
- Verify hidden elements are exposed
- Optionally test interactions:
- Click a link or button
- Fill a form field
- Submit a search query
- Report findings with pass/fail assessment
Example output
=== Browsy Flow Test: https://example.com/login ===
Page title: Sign In - Example App
Page type: Login [CORRECT]
Suggested actions: Login [CORRECT]
Elements detected: 12
Links: 3 (Home, Forgot password, Sign up)
Buttons: 1 (Sign in)
Inputs: 2 (email [text], password [password])
Text: 4 (heading, labels, helper text)
Hidden: 2 (error alert, password tooltip)
Landmarks:
[PASS] <form> detected as form landmark
[PASS] <nav> detected as navigation landmark
[PASS] <main> detected as main landmark
Interaction test:
[PASS] browsy_type_text on email field — value persisted
[PASS] browsy_type_text on password field — value persisted
[PASS] browsy_login compound action — form submitted
Result: 9/9 checks passed. Page fully compatible with browsy.
Example with issues
=== Browsy Flow Test: https://spa-heavy.example.com ===
Page title: App
Page type: Content [EXPECTED: Dashboard]
Suggested actions: (none) [EXPECTED: Login or Navigation]
Elements detected: 3
Links: 1 (logo link)
Text: 2 (loading spinner text, noscript message)
WARNING: Only 3 elements detected. This page likely requires
JavaScript rendering. Consider using Playwright for this site.
Result: 1/5 checks passed. Page NOT compatible with browsy.
Recommendation: Keep Playwright for this JS-heavy SPA.
Requirements
- browsy CLI must be installed (
browsy in PATH or set BROWSY_BIN env var)
1---2name: test-browsy-flow3description: Test a URL with the browsy CLI and report page detection accuracy4---5
6# Test Browsy Flow
7
8Test browsy's page detection and interaction capabilities against a specific URL. Useful for validating that browsy correctly parses a site before deploying agents against it.
9
10## Usage
11
12```
13/test-browsy-flow https://example.com/login
14```
15
16## What it does
17
18Runs the browsy CLI against a target URL and reports on detection quality:
19
20- **Page parsing** — fetches the URL and converts it to browsy's Spatial DOM, reporting element counts and types
21- **Page classification** — checks whether browsy correctly identifies the page type (Login, Search, Content, Form, Consent, Verification, Error)
22- **Suggested actions** — validates that browsy suggests the right actions (e.g., Login for a sign-in page, Search for a search engine)
23- **Element inventory** — counts interactive elements (links, buttons, inputs, selects, checkboxes) and checks for missing or misidentified elements
24- **Hidden content** — verifies that dropdown menus, modals, accordion panels, and tab content are exposed with `hidden: true`
25- **Interaction testing** — optionally tests clicking, typing, and form submission to verify browsy handles the page's interaction patterns
26
27## Workflow
28
291. Run `browsy browse <url>` to fetch and parse the page
302. Run `browsy page-info` to get detection results
313. Analyze the Spatial DOM output:
32 - Count elements by type (links, buttons, inputs, text)
33 - Check for landmark markers (nav, header, footer, main, form)
34 - Verify hidden elements are exposed
354. Optionally test interactions:
36 - Click a link or button
37 - Fill a form field
38 - Submit a search query
395. Report findings with pass/fail assessment
40
41## Example output
42
43```
44=== Browsy Flow Test: https://example.com/login ===
45
46Page title: Sign In - Example App
47Page type: Login [CORRECT]
48Suggested actions: Login [CORRECT]
49
50Elements detected: 12
51 Links: 3 (Home, Forgot password, Sign up)
52 Buttons: 1 (Sign in)
53 Inputs: 2 (email [text], password [password])
54 Text: 4 (heading, labels, helper text)
55 Hidden: 2 (error alert, password tooltip)
56
57Landmarks:
58 [PASS] <form> detected as form landmark
59 [PASS] <nav> detected as navigation landmark
60 [PASS] <main> detected as main landmark
61
62Interaction test:
63 [PASS] browsy_type_text on email field — value persisted
64 [PASS] browsy_type_text on password field — value persisted
65 [PASS] browsy_login compound action — form submitted
66
67Result: 9/9 checks passed. Page fully compatible with browsy.
68```
69
70## Example with issues
71
72```
73=== Browsy Flow Test: https://spa-heavy.example.com ===
74
75Page title: App
76Page type: Content [EXPECTED: Dashboard]
77Suggested actions: (none) [EXPECTED: Login or Navigation]
78
79Elements detected: 3
80 Links: 1 (logo link)
81 Text: 2 (loading spinner text, noscript message)
82
83WARNING: Only 3 elements detected. This page likely requires
84JavaScript rendering. Consider using Playwright for this site.
85
86Result: 1/5 checks passed. Page NOT compatible with browsy.
87Recommendation: Keep Playwright for this JS-heavy SPA.
88```
89
90## Requirements
91
92- browsy CLI must be installed (`browsy` in PATH or set `BROWSY_BIN` env var)