browser-testing

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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "browser-testing" with this command: npx skills add serkan-ozal/browser-devtools-skills/serkan-ozal-browser-devtools-skills-browser-testing

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

browser-devtools-cli navigation go-to --url "https://example.com"
browser-devtools-cli navigation go-back-or-forward --direction back
browser-devtools-cli navigation go-back-or-forward --direction forward
browser-devtools-cli navigation reload

Interaction

All accept CSS selector or ref (e1, @e1) from ARIA snapshot.

browser-devtools-cli interaction click --selector "#button"
browser-devtools-cli interaction click --selector "e1"   # ref from a11y take-aria-snapshot
browser-devtools-cli interaction fill --selector "#input" --value "text"
browser-devtools-cli interaction select --selector "#dropdown" --value "option"
browser-devtools-cli interaction hover --selector "#element"
browser-devtools-cli interaction press-key --key "Enter"
browser-devtools-cli interaction scroll --mode bottom
browser-devtools-cli interaction drag --source-selector "#drag" --target-selector "#drop"

Content Capture

browser-devtools-cli content take-screenshot --name "screenshot"
browser-devtools-cli content get-as-html
browser-devtools-cli content get-as-text
browser-devtools-cli content save-as-pdf --name "page"

Synchronization

browser-devtools-cli sync wait-for-network-idle

Mocking & Stubbing

browser-devtools-cli stub mock-http-response --pattern "**/api/**" --response '{"status":200}'
browser-devtools-cli stub intercept-http-request --pattern "**/api/**" --modifications '{"headers":{}}'
browser-devtools-cli stub list
browser-devtools-cli stub clear

Basic Testing Workflow

  1. Navigate: Go to the page under test
  2. Wait: Ensure page is fully loaded
  3. Snapshot (optional): a11y take-aria-snapshot to get refs (e1, e2) for stable element targeting
  4. Interact: Click, fill, scroll (use --selector "e1" for refs or CSS selector)
  5. Verify: Check page state, take screenshots
  6. Document: Report results

Form Automation Patterns

Basic Form Fill

# Fill text input
browser-devtools-cli interaction fill \
  --selector "#email" \
  --value "test@example.com"

# Fill password
browser-devtools-cli interaction fill \
  --selector "#password" \
  --value "SecurePass123"

# Click submit
browser-devtools-cli interaction click \
  --selector "button[type=submit]"

Select Dropdown

browser-devtools-cli interaction select \
  --selector "#country" \
  --value "US"

Checkbox/Radio

# Check checkbox
browser-devtools-cli interaction click \
  --selector "#terms-checkbox"

# Select radio option
browser-devtools-cli interaction click \
  --selector "input[name=plan][value=premium]"

Multi-Step Wizard

SESSION="--session-id wizard-test"

# Step 1: Personal Info
browser-devtools-cli $SESSION interaction fill --selector "#name" --value "John Doe"
browser-devtools-cli $SESSION interaction fill --selector "#email" --value "john@example.com"
browser-devtools-cli $SESSION interaction click --selector "#next-step"

# Wait for step 2
browser-devtools-cli $SESSION sync wait-for-network-idle

# Step 2: Address
browser-devtools-cli $SESSION interaction fill --selector "#address" --value "123 Main St"
browser-devtools-cli $SESSION interaction select --selector "#state" --value "CA"
browser-devtools-cli $SESSION interaction click --selector "#next-step"

# Step 3: Confirm
browser-devtools-cli $SESSION sync wait-for-network-idle
browser-devtools-cli $SESSION interaction click --selector "#submit"

Validation Testing

Test Required Fields

# Submit empty form
browser-devtools-cli interaction click --selector "button[type=submit]"

# Check for error messages
browser-devtools-cli content get-as-text --selector ".error-message"

Test Invalid Input

# Invalid email
browser-devtools-cli interaction fill --selector "#email" --value "not-an-email"
browser-devtools-cli interaction click --selector "button[type=submit]"

# Check validation error
browser-devtools-cli content get-as-html --selector ".email-error"

Session-Based Testing

SESSION="--session-id my-test"

# Navigate
browser-devtools-cli $SESSION navigation go-to --url "https://example.com"

# Interact
browser-devtools-cli $SESSION interaction click --selector ".login-btn"
browser-devtools-cli $SESSION interaction fill --selector "#email" --value "test@example.com"

# Verify
browser-devtools-cli $SESSION content take-screenshot --name "after-login"

# Cleanup
browser-devtools-cli session delete my-test

Best Practices

  1. Use sessions for multi-step flows
  2. Wait for network idle after navigation and actions
  3. Take screenshots after important actions for verification
  4. Use specific selectors to avoid wrong elements
  5. Test empty submission first for validation testing
  6. Clear fields before filling (use interaction fill which clears first)
  7. Handle dynamic fields with wait strategies
  8. Screenshot after errors for documentation
  9. Batch steps when useful: For long flows, run execute --code "..." with callTool() reduces round-trips (see browser-devtools-cli execute reference).

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

react-debugging

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

browser-devtools-cli

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

debugging

No summary provided by upstream source.

Repository SourceNeeds Review