| name | browser-testing |
| description | Automated browser testing, interaction automation, and form testing. Use when the user needs to test web pages, automate browser interactions, fill forms, test validation, run multi-step wizards, or test login/signup flows. |
| allowed-tools | Bash(ironbee-browser-devtools-cli:*) |
Browser Testing Skill
Automated browser testing, interaction automation, and form testing using Browser DevTools CLI.
When to Use
This skill activates when:
- User asks to test a web page or application
- User wants to automate browser interactions
- User needs to verify UI behavior
- User wants to automate form submission
- User needs to test form validation
- User mentions multi-step forms or wizards
- User wants to test login/signup flows
Capabilities
Navigation
ironbee-browser-devtools-cli navigation go-to --url "https://example.com"
ironbee-browser-devtools-cli navigation go-back-or-forward --direction back
ironbee-browser-devtools-cli navigation go-back-or-forward --direction forward
ironbee-browser-devtools-cli navigation reload
Interaction
All accept CSS selector or ref (e1, @e1) from ARIA snapshot.
ironbee-browser-devtools-cli interaction click --selector "#button"
ironbee-browser-devtools-cli interaction click --selector "e1"
ironbee-browser-devtools-cli interaction fill --selector "#input" --value "text"
ironbee-browser-devtools-cli interaction select --selector "#dropdown" --value "option"
ironbee-browser-devtools-cli interaction hover --selector "#element"
ironbee-browser-devtools-cli interaction press-key --key "Enter"
ironbee-browser-devtools-cli interaction scroll --mode bottom
ironbee-browser-devtools-cli interaction drag --source-selector "#drag" --target-selector "#drop"
Content Capture
ironbee-browser-devtools-cli content take-screenshot --name "screenshot"
ironbee-browser-devtools-cli content get-as-html
ironbee-browser-devtools-cli content get-as-text
ironbee-browser-devtools-cli content save-as-pdf --name "page"
Synchronization
ironbee-browser-devtools-cli sync wait-for-network-idle
Mocking & Stubbing
ironbee-browser-devtools-cli stub mock-http-response --pattern "**/api/**" --response '{"status":200}'
ironbee-browser-devtools-cli stub intercept-http-request --pattern "**/api/**" --modifications '{"headers":{}}'
ironbee-browser-devtools-cli stub list
ironbee-browser-devtools-cli stub clear
Basic Testing Workflow
- Navigate: Go to the page under test
- Wait: Ensure page is fully loaded
- Snapshot (optional):
a11y take-aria-snapshot to get refs (e1, e2) for stable element targeting
- Interact: Click, fill, scroll (use
--selector "e1" for refs or CSS selector)
- Verify: Check page state, take screenshots
- Document: Report results
Form Automation Patterns
Basic Form Fill
ironbee-browser-devtools-cli interaction fill \
--selector "#email" \
--value "test@example.com"
ironbee-browser-devtools-cli interaction fill \
--selector "#password" \
--value "SecurePass123"
ironbee-browser-devtools-cli interaction click \
--selector "button[type=submit]"
Select Dropdown
ironbee-browser-devtools-cli interaction select \
--selector "#country" \
--value "US"
Checkbox/Radio
ironbee-browser-devtools-cli interaction click \
--selector "#terms-checkbox"
ironbee-browser-devtools-cli interaction click \
--selector "input[name=plan][value=premium]"
Multi-Step Wizard
SESSION="--session-id wizard-test"
ironbee-browser-devtools-cli $SESSION interaction fill --selector "#name" --value "John Doe"
ironbee-browser-devtools-cli $SESSION interaction fill --selector "#email" --value "john@example.com"
ironbee-browser-devtools-cli $SESSION interaction click --selector "#next-step"
ironbee-browser-devtools-cli $SESSION sync wait-for-network-idle
ironbee-browser-devtools-cli $SESSION interaction fill --selector "#address" --value "123 Main St"
ironbee-browser-devtools-cli $SESSION interaction select --selector "#state" --value "CA"
ironbee-browser-devtools-cli $SESSION interaction click --selector "#next-step"
ironbee-browser-devtools-cli $SESSION sync wait-for-network-idle
ironbee-browser-devtools-cli $SESSION interaction click --selector "#submit"
Validation Testing
Test Required Fields
ironbee-browser-devtools-cli interaction click --selector "button[type=submit]"
ironbee-browser-devtools-cli content get-as-text --selector ".error-message"
Test Invalid Input
ironbee-browser-devtools-cli interaction fill --selector "#email" --value "not-an-email"
ironbee-browser-devtools-cli interaction click --selector "button[type=submit]"
ironbee-browser-devtools-cli content get-as-html --selector ".email-error"
Session-Based Testing
SESSION="--session-id my-test"
ironbee-browser-devtools-cli $SESSION navigation go-to --url "https://example.com"
ironbee-browser-devtools-cli $SESSION interaction click --selector ".login-btn"
ironbee-browser-devtools-cli $SESSION interaction fill --selector "#email" --value "test@example.com"
ironbee-browser-devtools-cli $SESSION content take-screenshot --name "after-login"
ironbee-browser-devtools-cli session delete my-test
Best Practices
- Use sessions for multi-step flows
- Wait for network idle after navigation and actions
- Take screenshots after important actions for verification
- Use specific selectors to avoid wrong elements
- Test empty submission first for validation testing
- Clear fields before filling (use
interaction fill which clears first)
- Handle dynamic fields with wait strategies
- Screenshot after errors for documentation
- Batch steps when useful: For long flows,
run execute --code "..." with callTool() reduces round-trips (see ironbee-browser-devtools-cli execute reference).