AI Skill Report Card

Testing E2E Frontend

A-85·May 6, 2026·Source: Web

Quick Start

When invoked by an analyst, immediately parse their request and show configuration:

╔══════════════════════════════════════════════╗
║ Test Configuration                           ║
╠══════════════════════════════════════════════╣
║ Page...........: <extracted page name>      ║
║ Scope..........: <FRONTEND|BACKEND|BOTH>    ║
║ Credentials....: <email>                    ║
║ Features.......: <list>                     ║
║ Notes..........: <text or "—">              ║
╚══════════════════════════════════════════════╝

Then execute the fixed methodology steps A through H.

Workflow

Progress:

  • A: Authentication
  • B: Page mapping (routes + endpoints)
  • C: Navigation [Frontend only]
  • D: Version/Module selectors
  • E: Initial load verification
  • F: Functional tests (CRUD)
  • G: Version switching regression [Frontend only]
  • H: Secondary validations

Extract from natural language input:

  1. Page (required): "test page X", "testar tela X" → X
  2. Scope (default: BOTH):
    • "apenas frontend" → FRONTEND
    • "apenas backend" → BACKEND
    • omitted/both → BOTH
  3. Credentials (default: teste@vp6.com.br/teste2026):
    • "com usuário <email> e senha <senha>"
  4. Features (default: initial load, add, edit, delete, save main form, version switching)
  5. Notes: any additional text

A - Authentication [All Scopes]

Frontend/Both:

  • Navigate to http://localhost:3000
  • Login with parsed credentials
  • Wait for redirect
  • Verify Redux user state populated

Backend-only:

  • POST to auth endpoint with credentials
  • Save token for subsequent requests

B - Page Mapping [All Scopes]

  • Find route in config/routes.ts
  • Open component file (@/pages/...)
  • Extract endpoints from dispatch calls
  • Map CRUD operations and HTTP methods

C - Navigation [Frontend Only]

  • Navigate via sidebar menu (don't type URL directly)
  • Verify URL matches route path
  • Wait for BrandedLoading overlay to disappear

D - Required Selectors [All Scopes]

Critical order: VERSION → MODULE

Frontend/Both:

  • Select version in DropdownVersao
  • Select module in DropDownModule (if applicable)
  • Verify Redux state updated

Backend-only:

  • GET enterprises, versions, modules
  • Save IDs for subsequent requests

E - Initial Load Verification [All Scopes]

Frontend/Both:

  • Monitor Network tab for all GETs
  • Verify Redux state populated
  • Check DOM form/table populated correctly

Backend-only:

  • Execute all mapped endpoints
  • Validate response shapes (paginated vs array)
  • Check performance (>3s = flag)

F - Functional Tests [All Scopes]

Frontend/Both:

  1. Add: Click "+ Adicionar", fill form, save
  2. Edit: Click EditOutlined, modify fields, save
  3. Delete: Click DeleteOutlined, confirm Popconfirm
  4. Save Main Form: Modify main form, click header Save

Backend-only:

  1. CREATE: POST with valid payload
  2. READ: GET created resource
  3. UPDATE: PUT/PATCH modifications
  4. DELETE: DELETE and verify removal

G - Version Switching [Frontend Only]

  • Switch to different version
  • Verify continuous loading overlay (no flicker)
  • Confirm data repopulated for new version

H - Secondary Validations

  • Test filters, pagination, sorting
  • Try additional buttons (Import, Export, etc.)

Report Format

Markdown
undefined
  • Scope: <FRONTEND|BACKEND|BOTH>
  • Credentials: <email>
  • URL: <path>
  • Component: <@/pages/...>
  • Endpoints mapped: <method> <url> ...
  • Steps completed: <X of Y>
  • Bugs found: <N>

[✓/✗/—] Authentication [✓/✗/—] Route mapping [✓/✗/—] Navigation to page [F] [✓/✗/—] Version selection [✓/✗/—] Module selection (if applicable) [✓/✗/—] Initial load — Network OK [✓/✗/—] Initial load — Redux populated [F] [✓/✗/—] Initial load — DOM populated [F] [✓/✗/—] CRUD/Add — trigger [✓/✗/—] CRUD/Add — persistence confirmed [✓/✗/—] CRUD/Edit — trigger
[✓/✗/—] CRUD/Edit — persistence confirmed [✓/✗/—] CRUD/Delete — trigger (Popconfirm in [F]) [✓/✗/—] CRUD/Delete — persistence confirmed [✓/✗/—] Save main form (if applicable) [✓/✗/—] Version switching no flicker [F]

[HIGH/MEDIUM/LOW] <short title>

  • Step: <X.Y>
  • Expected: <behavior>
  • Observed: <behavior>
  • Evidence: <HTTP status, console error, redux state...>

# Best Practices

- **Never skip login** even if session exists - token may be expired
- **Follow exact order**: LOGIN → MAP → NAVIGATE → VERSION → MODULE → LOAD → CRUD
- **Don't click randomly** - each click has validation purpose
- **Inspect DOM carefully** - antd wraps inputs in multiple containers
- **Always use different versions** when testing version switching
- **Stop on initial GET failures** (status >= 400) - report as blocker

# Common Pitfalls

- **Don't break the fixed methodology order** - skipping steps invalidates tests
- **Don't assume fields exist** without DOM inspection
- **Don't continue after initial load failures** - fix blockers first
- **Don't report bugs without 2+ reproductions** (except 500 errors)
- **Don't forget to select enterprise** if page requires `chosenEnterprise`

# Environment

- Frontend: http://localhost:3000
- Backend: http://localhost:8000  
- Stack: umi.js + React + antd
- State: Redux via dva
- Loading: BrandedLoading overlay
- Test credentials: teste@vp6.com.br / teste2026
0
Grade A-AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
15/15
Workflow
15/15
Examples
15/20
Completeness
20/20
Format
15/15
Conciseness
14/15