Reporter de Playwright
@probara/playwright-reporter es un reporter de Playwright que envía a
Probara cada resultado de una ejecución de playwright test: cada intento con su estado, sus pasos,
sus errores y sus adjuntos, vinculado a su caso de prueba. Los casos que aún no existen se crean, y
la ejecución se cierra cuando todo ha llegado. Lo registras en playwright.config junto al reporter
que lees en la terminal; no hace falta un paso de subida aparte.
- Paquete:
@probara/playwright-reporteren npm (versión actual0.1.0). - Código fuente y changelog: probara-sdk en GitHub (Apache-2.0).
- Lado de Probara: la guía de la integración con Playwright cubre la tarjeta Playwright, sus tokens de aplicación y lo que muestra Probara.
Antes de empezar
Sección titulada «Antes de empezar»| Necesitas | Por qué |
|---|---|
| Node.js 22.12 o posterior | Es el campo engines del paquete. El proceso principal de Playwright ejecuta el reporter. |
@playwright/test 1.42 o posterior | Es el rango de la dependencia peer. Los archivos de los pasos necesitan 1.50; el contexto de error de un intento, 1.51. |
| Un plan de pago (Pro o Enterprise, o una prueba Pro) | El envío de resultados desde CI no forma parte del plan Free. En Free, Probara responde 403 forbidden. |
| Alguien con el permiso Administrar integraciones | Crear un token de aplicación forma parte de ese permiso, que tienen los propietarios y los administradores. |
| El ID del Proyecto al que enviar los resultados | Una letra mayúscula seguida de mayúsculas o dígitos, por ejemplo SHOP. Cualquier otro valor desactiva el envío. |
1. Crea un token de aplicación
Sección titulada «1. Crea un token de aplicación»El reporter se autentica con un token de aplicación: un token que pertenece a tu organización, no a una persona. No ocupa ningún puesto y sigue funcionando cuando la persona que lo creó se va.
- En Workspace › Integraciones, selecciona la tarjeta Playwright.
- Abre la pestaña Tokens de acceso y selecciona Crear un token de aplicación.
- Escribe un Nombre del token con lo que lo usa (el repositorio o el pipeline) y selecciona Crear token.
- Selecciona Copiar token en Copia tu nuevo token. Empieza por
probara_app_y solo se muestra una vez: guárdalo en ese momento como un secreto de CI llamadoPROBARA_API_TOKEN.
El reporter lee el token del entorno. Nunca lo pongas en playwright.config, que se sube al
repositorio.
2. Instala el reporter
Sección titulada «2. Instala el reporter»npm i -D @probara/playwright-reporterFija la versión en package.json (o conserva el lockfile) para que una versión nueva nunca cambie
un pipeline por sorpresa: el reporter está en 0.x, donde una versión minor puede cambiar opciones
(actualizar).
3. Regístralo en playwright.config
Sección titulada «3. Regístralo en playwright.config»Añádelo junto al reporter que lees en la terminal, con tu ID del Proyecto (o define
PROBARA_PROJECT en el entorno):
import { defineConfig } from '@playwright/test';
export default defineConfig({ reporter: [['list'], ['@probara/playwright-reporter', { projectId: 'SHOP' }]],});Todo lo demás tiene un valor por defecto: la ejecución toma el nombre del build de CI, y su rama,
su commit y la URL del build salen del CI. El paquete exporta el tipo de sus opciones,
ProbaraPlaywrightOptions, por si quieres que se comprueben:
import { defineConfig } from '@playwright/test';import type { ProbaraPlaywrightOptions } from '@probara/playwright-reporter';
export default defineConfig({ reporter: [ ['list'], ['@probara/playwright-reporter', { projectId: 'SHOP' } satisfies ProbaraPlaywrightOptions], ],});4. Ejecuta tus pruebas con el token
Sección titulada «4. Ejecuta tus pruebas con el token»Pasa el secreto al paso que ejecuta npx playwright test. En GitHub Actions:
- name: Run Playwright tests run: npx playwright test env: PROBARA_API_TOKEN: ${{ secrets.PROBARA_API_TOKEN }}El reporter escribe en stderr, en líneas [probara], y termina con el enlace a la ejecución:
$ npx playwright test[probara] Sending 2 results of 2 tests (2 passed, 0 failed, 0 skipped, 0 blocked)[probara] Recorded 2 results (1 new case, 0 unmatched) in R-1 (closed): https://app.probara.net/projects/SHOP/runs/R-1Sin un token y un proyecto, el reporter queda desactivado y en silencio: las ejecuciones locales, y los builds que no reciben secretos (como los pull requests desde forks en la mayoría de los CI), no envían nada, sin ninguna opción extra. Para un workflow completo en tu CI, consulta proveedores de CI.
Qué ves en Probara
Sección titulada «Qué ves en Probara»- Una ejecución automatizada, con el nombre del build de CI (
Playwright #42en GitHub Actions), la rama, el commit y un enlace al build. Se cierra cuando el reporter termina. - Un resultado por intento: una prueba reintentada muestra cada intento en el historial del caso de la ejecución, y el caso conserva el último resultado.
- Pasos de
test.step, anidados, con su estado, su duración y su error, y los archivos adjuntados dentro de ellos. - Adjuntos: capturas, vídeos, trazas, el contexto de error y tus propios archivos de
testInfo.attach(). - Casos de prueba nuevos para las pruebas que no coinciden con ninguno, en suites construidas a
partir del archivo y de los títulos de
describe. - Atribución al token: las ejecuciones y los resultados muestran la aplicación y el nombre del token, por ejemplo Playwright · e2e-ci, no a una persona.
Cómo se corresponde Playwright con Probara
Sección titulada «Cómo se corresponde Playwright con Probara»| Playwright | En Probara |
|---|---|
El comando playwright test | Una ejecución automatizada, con el nombre del build de CI, cerrada al final |
| Una prueba (por proyecto de Playwright) | Un caso de prueba, encontrado por su clave de automatización o vinculado por un ID de caso |
| Cada intento (reintentos incluidos) | Un resultado en la ejecución, con su estado, su duración, su hora de inicio y sus errores |
test.step y los hooks que ejecutan pasos | Los pasos del resultado, anidados, con su estado, su duración y su error |
| Capturas, vídeos, trazas, adjuntos | Archivos del resultado, o del paso en el que se adjuntaron |
Llamadas probara.* en la prueba | El título, la suite, las etiquetas, los campos y los pasos de un caso nuevo; los parámetros |
La misma prueba en dos proyectos de Playwright (chromium y firefox) son dos casos: el proyecto
forma parte de la clave de automatización
(vincular).
El envío nunca rompe tu ejecución de pruebas
Sección titulada «El envío nunca rompe tu ejecución de pruebas»El reporter nunca lanza errores dentro de Playwright ni cambia su código de salida: una prueba que falla hace fallar el comando; un problema de envío, no. Una opción mal escrita, un Probara inaccesible o un token rechazado se registran en stderr, nunca con el token, y las pruebas conservan su resultado. No hay ninguna opción para que el comando falle por un error de envío; para conservar lo que no se pudo enviar, define un archivo de resultados.
Referencia
Sección titulada «Referencia»| Página | Qué cubre |
|---|---|
| Configuración | Cada opción, su variable, su tipo y su valor por defecto; precedencia; red, proxies |
| Vincular pruebas con casos | Anotaciones, IDs de caso en los títulos, probara.id(), claves de automatización |
| Metadatos | Título, suite, comentario, etiquetas, campos, parámetros, ignorar un intento |
| Pasos y adjuntos | test.step, hooks, probara.step(), capturas, vídeos, trazas, probara.attach() |
| Resultados y reintentos | Opciones de la ejecución, estados, mapeo de estados, reintentos, archivo de resultados |
| Shards y varios proyectos | Una ejecución para todos los shards, merge-reports, varios proyectos de Probara |
| Proveedores de CI | GitHub Actions, GitLab CI, Jenkins, CircleCI, Azure Pipelines, Bitbucket, Buildkite |
| Solución de problemas | Problemas y soluciones, el registro, PROBARA_DEBUG, comprobar qué se enviaría |
| Migrar y actualizar | Desde Qase, desde probara import junit, versiones y el contrato de la clave |
Siguiente: configura el reporter, o vuelve al resumen de integraciones de CI. ¿Usas Jest, Cypress o Vitest? Consulta el reporter de Jest, el reporter de Cypress o el reporter de Vitest.