SprilurTest Part Pública

Llistat documentació ordenat correctament

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-05 Llistat de documentació ordenat Type: ui Scope: task Depth: focused Area: frontend Category: visual Entry point: /es/documentacion Verify in: page (llistat de documents) Navega a `/es/documentacion` i comprova que es mostra el llistat de documents ordenat per `sort_order`, cada element amb imatge i descripció.

Pla de Test 2 pag · 8 passos · 0 validacions

Pàgines a visitar

/login Autenticar-se al sistema
/es/documentacion Veure el llistat de documents ordenat

Passos del test

Historial de validació 1 iteracions

#? FAIL

Passos del Test 3 steps

1

Iniciar sessió

stable (4x)
step3640-iniciar-sessi-

step3640 iniciar sessi

1. navigate Navegar a la pàgina d'inici de sessió
2. fill Omplir el camp d'email input[type="email"]
3. fill Omplir el camp de contrasenya input[type="password"]
4. click Clicar el botó d'inici de sessió button[type="submit"]
Generació inicial FAIL
#1 FAIL pas 2 · refine
El selector coincideix amb més d'un element — cal afinar-lo perquè sigui únic.
locator.pressSequentially: Error: strict mode violation: locator('input[type="email"]') resolved to 2 elements: 1) <... [veure tot] locator.pressSequentially: Error: strict mode violation: locator('input[type="email"]') resolved to 2 elements: 1) <input value="" required="" name="email" type="email" autofocus="" id="login-email" autocomplete="email" class="h-12 w-full border border-zinc-300 bg-zinc-200 px-4 text-zinc-700 focus:border-zinc-500 focus:outline-none"/> aka locator('#login-email') 2) <input value="" required="" name="email" type="email" id="register-email" autocomplete="email" class="h-12 w-full border border-zinc-300 bg-zinc-200 px-4 text-zinc-700 focus:border-zinc-500 focus:outline-none"/> aka locator('#register-email') Call log: - waiting for locator('input[type="email"]')
2

Navegar a documentació

stable (4x)
step3641-navegar-a-documentaci-

step3641 navegar a documentaci

5. navigate Navegar a la pàgina de documentació i capturar el llistat
3

Validar elements del llistat de documents

Valida que les imatges dels documents són visibles, que el text de descripció està present, i que el primer element és la Guia de desenvolupament sostenible ordenada correctament

stable (4x)
step3642-validar-elements-del-llistat-de-documents

step3642 validar elements del llistat de documents

6. validate Comprovar que las imágenes de los documentos son visibles ul.grid li img
7. validate Comprovar que el texto de descripción está visible en el bloque. ul.grid li p.font-bold
8. validate Verificar que el primer element és la Guia de desenvolupament sostenible (sort_order). ul.grid li:first-child p.font-bold
Generació inicial FAIL
#2 FAIL pas 6 · refine
El selector coincideix amb més d'un element — cal afinar-lo perquè sigui únic.
expect(locator).toBeVisible() failed Locator: locator('ul.grid li img') Expected: visible Error: strict mode violation:... [veure tot] expect(locator).toBeVisible() failed Locator: locator('ul.grid li img') Expected: visible Error: strict mode violation: locator('ul.grid li img') resolved to 8 elements: 1) <img class="mb-3 aspect-[255/160] w-full object-cover" src="https://p396.tst.twentic.com/images/documents/guias.jpg" alt="Guía para el desarrollo sostenible de los proyectos de urbanización"/> aka getByRole('link', { name: 'Guía para el desarrollo' }) 2) <img alt="Libro de obra de la urbanización" class="mb-3 aspect-[255/160] w-full object-cover" src="https://p396.tst.twentic.com/images/documents/obras.jpg"/> aka getByRole('link', { name: 'Libro de obra de la' }) 3) <img class="mb-3 aspect-[255/160] w-full object-cover" src="https://p396.tst.twentic.com/images/documents/urbanistico_sostenibilidad.jpg" alt="Manual para la redacción de planeamiento urbanístico con criterios de sostenibilidad"/> aka getByRole('link', { name: 'Manual para la redacción de' }) 4) <img class="mb-3 aspect-[255/160] w-full object-cover" src="https://p396.tst.twentic.com/images/documents/edificacion.jpg" alt="Guías de edificación ambientalmente sostenibles: edificios industriales"/> aka getByRole('link', { name: 'Guías de edificación ambientalmente sostenibles: edificios industriales Guías' }) 5) <img class="mb-3 aspect-[255/160] w-full object-cover" src="https://p396.tst.twentic.com/images/documents/comercial.jpg" alt="Guías de edificación ambientalmente sostenibles: edificios comerciales"/> aka getByRole('link', { name: 'Guías de edificación ambientalmente sostenibles: edificios comerciales Guías de' }) 6) <img class="mb-3 aspect-[255/160] w-full object-cover" src="https://p396.tst.twentic.com/images/documents/administrativos.jpg" alt="Guías de edificación ambientalmente sostenibles: edificios administrativos"/> aka getByRole('link', { name: 'Guías de edificación ambientalmente sostenibles: edificios administrativos Guí' }) 7) <img class="mb-3 aspect-[255/160] w-full object-cover" src="https://p396.tst.twentic.com/images/documents/vivienda.jpg" alt="Guía de edificación sostenible para la vivienda en Euskadi"/> aka getByRole('link', { name: 'Guía de edificación' }) 8) <img class="mb-3 aspect-[255/160] w-full object-cover" alt="Instrucciones generales de utilización de la guía" src="https://p396.tst.twentic.com/images/documents/instrucciones.jpg"/> aka getByRole('link', { name: 'Instrucciones generales de' }) Call log: - Expect "to.be.visible" with timeout 5000ms - waiting for locator('ul.grid li img')
#3 FAIL pas 8 · regenerate
Temps d'espera exhaurit — l'element no es va trobar o la pàgina no va acabar de carregar.
expect(locator).toContainText(expected) failed Locator: locator('ul.grid li:first-child p.font-bold') Timeout: 5000ms -... [veure tot] expect(locator).toContainText(expected) failed Locator: locator('ul.grid li:first-child p.font-bold') Timeout: 5000ms - Expected substring - 1 + Received string + 3 - GUÍA PARA EL DESARROLLO SOSTENIBLE DE LOS PROYECTOS DE URBANIZACIÓN + + Guía para el desarrollo sostenible de los proyectos de urbanización + Call log: - Expect "to.have.text" with timeout 5000ms - waiting for locator('ul.grid li:first-child p.font-bold') 9 × locator resolved to <p class="text-[13px] font-bold uppercase leading-snug">↵ Guía para el desarro…</p> - unexpected value " Guía para el desarrollo sostenible de los proyectos de urbanización "

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ó
stable
Validació
stable
Tipus
Playwright
Creat
03/06/2026 10:02
Descripció
Verifica que els documents es mostren ordenats per sort_order amb imatge i descripció a /es/documentacion

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
100%
1r intent OK
0%
Iteracions totals
12
Temps total
59s
→ Validaci&oacute;
59s
Cost total
$0.2725
Tokens totals
23,414
Crides API
9
→ Cost/pas
$0.00c

Cost IA

Total
$0.2725
Generació
$0.2725
Execucions
$0.00c
Tokens totals
23,414
Crides API
9