SprilurTest Part Pública

Cerca text lliure en guies d'Urbanización

Editar
/

Test validat correctament

L'script s'ha executat i ha passat després de 0 iteracions de refinament.

La IA ajustarà l'script segons el teu feedback i el validarà automàticament.

Prompt

## PUB-13 Buscador: cerca de text lliure Type: ui Scope: task Depth: focused Area: frontend Category: happy path Entry point: /es/fichas/buscador Navigation: `/es/fichas/buscador` → seleccionar tipus de guia Urbanización → escriure al camp de cerca Preconditions: tipus de guia Urbanización amb fitxes que continguin un terme conegut al títol/descripció Verify in: secció de resultats del component `CardSearch` Amb el tipus de guia Urbanización ja seleccionat, escriu un terme conegut al camp `input[type="search"][wire:model.live.debounce.300ms="search"]`. Espera el debounce de 300 ms i el round-trip de Livewire, i comprova que els resultats es redueixen a les fitxes que coincideixen amb el terme.

Pla de Test 1 pag · 11 passos · 0 validacions

Pàgines a visitar

/es/fichas/buscador Accedir al buscador de fichas

Passos del test

Historial de validació 1 iteracions

#? FAIL

Passos del Test 4 steps

1

Login a l'aplicació

stable (5x)
step3652-iniciar-sesi-n

step3652 iniciar sesi n

1. navigate Navegar a la pàgina de login
2. fill Omplir el camp d'email input[type="email"]
3. fill Omplir el camp de contrasenya input[type="password"]
4. click Fer clic al botó de login button[type="submit"]
Generació inicial FAIL
#1 FAIL pas 2 · refine
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
locator.pressSequentially: Timeout 30000ms exceeded. Call log: - waiting for locator('input[type="email"]') [veure tot] locator.pressSequentially: Timeout 30000ms exceeded. Call log: - waiting for locator('input[type="email"]')
#2 FAIL pas 2 · refine
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
locator.pressSequentially: Timeout 30000ms exceeded. Call log: - waiting for locator('input[name="email"], input[type=... [veure tot] locator.pressSequentially: Timeout 30000ms exceeded. Call log: - waiting for locator('input[name="email"], input[type="email"], input[placeholder*="email"], input[placeholder*="usuario"]').first()
#3 FAIL a[href="/dashboard"] · regenerate
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
page.click: Timeout 30000ms exceeded. Call log: - waiting for locator('a[href="/dashboard"]') [veure tot] page.click: Timeout 30000ms exceeded. Call log: - waiting for locator('a[href="/dashboard"]')
#4 FAIL pas 2 · regenerate
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
page.waitForSelector: Timeout 30000ms exceeded. Call log: - waiting for locator('input[type="email"]') to be visible [veure tot] page.waitForSelector: Timeout 30000ms exceeded. Call log: - waiting for locator('input[type="email"]') to be visible
Prova 1 (03/06 13:10) PASS Vídeo
#F1 PASS
2

Navigate to ficha searcher

Navigates to the ficha searcher page and captures the initial state

stable (1x)
step3653-buscador-inicial

step3653 buscador inicial

5. navigate Navegar al buscador de fitxes
6. screenshot Captura de l'estat inicial del buscador
Prova 1 (03/06 13:10) PASS Vídeo
#C1 PASS
3

Configurar tipus de guia

stable (1x)
step3654-filtrar-por-urbanizaci-n

step3654 filtrar por urbanizaci n

7. click Seleccionar el tipus de guia Urbanización input[type="radio"][value="urbanizacion"]
Prova 1 (03/06 13:10) PASS Vídeo
#C1 PASS
4

Search and filter results in CardSearch

Types 'instalacion' in the search input field, waits for debounce and Livewire response, captures filtered results, and validates that only one result remains containing the search term

stable (3x)
step3655-resultados-filtrados

step3655 resultados filtrados

8. fill Escriure un terme conegut al camp de cerca i esperar el debounce input.border-0.bg-white.px-3.py-2.outline-none.ring-1
9. wait Esperar el debounce i round-trip de Livewire
10. screenshot Captura dels resultats filtrats
11. validate Comprova que els resultats es redueixen a les fitxes que coincideixen amb el terme
Prova 1 (03/06 13:10) PASS Vídeo
#C1 FAIL · refined
Una comprovació (expect) ha fallat — el resultat esperat no coincideix amb el que hi havia a la pàgina.
expect(received).toContain(expected) // indexOf Expected substring: "search=instalacion" Received string: "https://p... [veure tot] expect(received).toContain(expected) // indexOf Expected substring: "search=instalacion" Received string: "https://p396.tst.twentic.com/es/fichas/buscador?guide_type=urbanization&q=instalacion"
#C2 FAIL main article · refined
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
expect(locator).toBeVisible() failed Locator: locator('main article').first() Expected: visible Timeout: 10000ms Error:... [veure tot] expect(locator).toBeVisible() failed Locator: locator('main article').first() Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "to.be.visible" with timeout 10000ms - waiting for locator('main article').first()
#C3 PASS

Codi Playwright tots els passos · // @lock / // @unlock per protegir línies

Desat ✓ Edita directament · usa // @lock i // @unlock en línies separades per bloquejar una secció

Resum d'execució

Test estable · tots els passos correctes

Generant resum de l'execució…

Detalls

Estat
active
Generació
unstable
Validació
stable
Tipus
Playwright
Creat
03/06/2026 10:03
Descripció
Verifica que la cerca de text filtra correctament les fitxes per terme conegut amb debounce de 300ms

Tags

Tots els tags afegits

Cap tag assignat

Instruccions IA

Projecte

- **Locale coverage:** every public page and every key flow must be exercised in **both `/es` and `/eu`**; additionally verify the `/locale/{eu}` switch redirects back and persists in session. - **Default test account:** `admin@sprilur.test` / `password` (is_admin, verified, no 2FA) — use for `/admin` and authenticated frontend flows. For permission tests, use a **non-admin verified** user. - **Data conventions:** suffix any created test data (project `title`, document name, etc.) with a unique `uid` (timestamp/run id) to avoid collisions across runs. - **Mandatory assertions:** every form submission must assert the success outcome (redirect/toast) **and** the absence of validation errors; every navigation must assert the resulting **URL including its locale prefix**. - **Scope/priority:** auth + private project flows (login, create, evaluate, export) are **regression-critical** and get happy-path + key edge cases; public/buscador flows get happy path plus the "no guide type / no results / URL hydration" edges; backoffice gets representative CRUD smoke tests. - **Known seeded data to rely on:** - Guide types: **Urbanización** (`urbanization`), **Edificación** (`building`). - Typologies (urbanization): Residencial, Industrial, Terciario, Logístico, Equipamiento público, Mixto. (building): Edificio industrial, Edificio terciario. - Scopes (ámbito): **Proyecto**, **Obra**. - Chapters: GEN General, TRA Trabajos previos, PRE, VIA, AGU Agua, EST, ENE Energía, ZON, RES Residuos, EJE, MAN; (building) EDI Diseño del edificio, ENV. - Agents: Promotor, Proyectista, Constructor, Dirección facultativa, Administración pública, Empresa de mantenimiento. - Stages (Etapa): Planeamiento, Proyecto, Ejecución, Uso y mantenimiento, Fin de vida. - **Exports:** for PDF/CSV, assert the response/download headers (and CSV `;`/`,` formatting), not the binary contents.

Features Desat!

KPIs

Taxa d'èxit
0%
1r intent OK
0%
Iteracions totals
4
Temps total
159s
→ Validació
159s
Cost total
$0.3630
Tokens totals
35,318
Crides API
11
→ Cost/pas
$0.00c

Cost IA

Total
$0.3919
Generació
$0.3866
Execucions
$0.53c
Tokens totals
40,575
Crides API
13

Últimes Execucions

Cap execució encara.