L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

form-testing

form-testing

Use Cursor's browser to fill and submit every form in the app with valid and invalid data, verifying validation, error states, and success flows.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: form-testing description: Use Cursor's browser to fill and submit every form in the app with valid and invalid data, verifying validation, error states, and success flows. user-invocable: true

Form Testing

Systematically test every form in the app using Cursor's built-in browser.

Workflow

1. Find All Forms

Use browser_snapshot to get the accessibility tree. Look for form elements, or groups of input, select, textarea elements.

Navigate through the app's main pages to discover all forms:

  • Login / signup pages
  • Settings / profile pages
  • Search bars
  • Contact / feedback forms
  • Checkout flows
  • Modals with inputs

2. Test Each Form

For each form, run three test passes:

Pass 1: Empty submission

  • Submit the form with all fields empty
  • Verify validation errors appear for required fields
  • Check that no server error occurs (should be client-side validation)

Pass 2: Invalid data

  • Email fields: enter notanemail
  • Password fields: enter a (too short)
  • Number fields: enter abc
  • Phone fields: enter 12345
  • URL fields: enter not-a-url
  • Check that appropriate error messages appear

Pass 3: Valid data

  • Fill every field with realistic test data using browser_fill or browser_fill_form
  • Submit the form
  • Verify success state (redirect, toast, confirmation message)
  • Check browser_console_messages for errors
  • Check browser_network_requests for failed API calls

3. Check Edge Cases

  • Double submission: Click submit twice quickly — should be prevented
  • Long input: Paste a very long string (1000+ chars) — should be truncated or rejected
  • Special characters: Enter <script>alert('xss')</script> — should be escaped
  • Tab order: Use browser_press with Tab to verify focus moves logically through fields

4. Report

Form Test Results:
  Login form (/login):
    Empty submit: PASS — shows "Email required", "Password required"
    Invalid email: PASS — shows "Invalid email"
    Valid submit: PASS — redirects to /dashboard
    XSS check: PASS — input escaped

  Settings form (/settings):
    Empty submit: FAIL — submits without validation, returns 500
    Valid submit: PASS — shows "Settings saved" toast

Fix any failures found.

Skills enregistrées