Referencia de Allure Playwright Java
Estas son las clases y métodos que puedes usar para integrar tus pruebas de Playwright Java con Allure.
AllurePlaywright
io.qameta.allure.playwright.AllurePlaywright
Una clase utilitaria con métodos estáticos para registrar objetos de Playwright, capturar artefactos del navegador y gestionar el estado de Playwright por prueba. Todos los métodos son seguros para hilos y seguros de llamar cuando no hay una prueba de Allure activa.
register
AllurePlaywright.register(Page page)AllurePlaywright.register(BrowserContext context)
Registra un Page o BrowserContext de Playwright para diagnósticos automáticos de fallos. Los objetos registrados se usan como fuentes para adjuntos de capturas de pantalla, código fuente de la página y registros de la página cuando una prueba falla o está rota.
Registrar un Page también registra su BrowserContext padre.
Cuando el weaving de AspectJ está activo, las páginas y contextos se registran automáticamente de dos maneras: cuando se crean mediante browser.newPage(), browser.newContext() o context.newPage(); y cuando se realiza cualquier acción interceptada de Playwright en una página mientras una prueba está activa. El registro explícito solo es necesario para objetos creados y usados exclusivamente fuera de una prueba activa (por ejemplo, en un setup @BeforeAll).
import io.qameta.allure.playwright.AllurePlaywright;
import com.microsoft.playwright.BrowserContext;
import com.microsoft.playwright.Page;
Page page = browser.newContext().newPage();
AllurePlaywright.register(page);
BrowserContext context = browser.newContext();
AllurePlaywright.register(context);attachScreenshot
AllurePlaywright.attachScreenshot(String name, Page page)
Captura una captura de pantalla de la página dada y la adjunta a la prueba o paso actual de Allure. Esta llamada no produce un paso adicional de Allure.
Pasa null o una cadena vacía como name para usar el nombre de adjunto predeterminado Screenshot.
AllurePlaywright.attachScreenshot("Antes de enviar", page);
AllurePlaywright.attachScreenshot(null, page); // adjuntado como "Screenshot"attachPageSource
AllurePlaywright.attachPageSource(String name, Page page)
Captura el HTML actual de la página dada y lo adjunta como un adjunto de tipo text/html.
Pasa null o una cadena vacía como name para usar el nombre de adjunto predeterminado Page source.
AllurePlaywright.attachPageSource("Page source", page);attachConsoleMessages
AllurePlaywright.attachConsoleMessages(String name, Page page)
Adjunta los mensajes de consola recopilados por la página dada desde que fue creada. Cada mensaje se formatea como [type] text (location). La salida vacía no se adjunta.
Pasa null o una cadena vacía como name para usar el nombre de adjunto predeterminado Console messages.
AllurePlaywright.attachConsoleMessages("Consola del navegador", page);attachPageErrors
AllurePlaywright.attachPageErrors(String name, Page page)
Adjunta los errores de JavaScript no capturados recopilados por la página dada desde que fue creada. Cada error se escribe en su propia línea como texto plano. La salida vacía no se adjunta.
Pasa null o una cadena vacía como name para usar el nombre de adjunto predeterminado Page errors.
AllurePlaywright.attachPageErrors("Errores de la página", page);attachTrace
AllurePlaywright.attachTrace(String name, Path traceZip)
Adjunta un archivo de traza de Playwright existente (archivo zip) a la prueba o paso actual de Allure.
Pasa null o una cadena vacía como name para usar el nombre de adjunto predeterminado Playwright trace.
AllurePlaywright.attachTrace("Traza de login", Path.of("trace.zip"));attachVideo
AllurePlaywright.attachVideo(String name, Path videoFile)
Adjunta un archivo de video existente a la prueba o paso actual de Allure. Los archivos WebM se adjuntan con el tipo de medio video/webm; otras extensiones se adjuntan como application/octet-stream.
Pasa null o una cadena vacía como name para usar el nombre de adjunto predeterminado Playwright video.
AllurePlaywright.attachVideo("Grabación de la prueba", Path.of("video.webm"));startTracing
AllurePlaywright.startTracing(BrowserContext context): TraceSessionAllurePlaywright.startTracing(String name, BrowserContext context): TraceSession
Inicia la trazabilidad de Playwright en el BrowserContext dado con capturas de pantalla y snapshots del DOM habilitados, y devuelve un TraceSession que puede detener y adjuntar la traza.
El contexto se registra automáticamente para diagnósticos de fallos.
Pasa un name para controlar el nombre del adjunto. El nombre predeterminado es Playwright trace.
Usa try-with-resources para garantizar que la trazabilidad se detenga y el archivo se adjunte incluso si la prueba lanza una excepción:
try (TraceSession trace = AllurePlaywright.startTracing("Traza de checkout", context)) {
page.navigate("https://example.com");
page.click("#checkout");
}Si el contexto se cierra antes de que se llame a TraceSession.close(), la traza aún se adjunta automáticamente. Si la prueba termina mientras la sesión sigue abierta, la traza se adjunta antes de que se escriba el resultado de prueba.
beforeTest
AllurePlaywright.beforeTest()
Limpia el registro de Playwright antes de que comience una prueba. Llama a esto al inicio de cada prueba cuando ninguna integración de framework de Allure gestiona el ciclo de vida automáticamente.
Cualquier sesión de traza abierta presente en este punto se detiene sin adjuntar.
afterTest
AllurePlaywright.afterTest()
Adjunta mensajes de consola pendientes, errores de página y sesiones de traza abiertas para páginas y contextos registrados, luego limpia el registro de Playwright. Llama a esto al final de cada prueba cuando ninguna integración de framework de Allure gestiona el ciclo de vida automáticamente.
Los videos se adjuntan cuando se llama a page.close(), context.close() o browser.close(), no por este método.
afterTestFailure
AllurePlaywright.afterTestFailure()AllurePlaywright.afterTestFailure(Throwable throwable)
Adjunta diagnósticos de fallos — capturas de pantalla, código fuente de la página y sesiones de traza abiertas — para todas las páginas registradas. Esto se llama una vez por prueba; llamadas duplicadas dentro de la misma prueba se ignoran.
Llama a esto desde tu manejador de fallos o el equivalente a @AfterEach cuando ninguna integración de framework de Allure gestiona el ciclo de vida automáticamente. La sobrecarga Throwable acepta la excepción causante para el registro de depuración.
// En un @AfterEach o equivalente
try {
testBody.run();
} catch (Throwable t) {
AllurePlaywright.afterTestFailure(t);
throw t;
} finally {
AllurePlaywright.afterTest();
}TraceSession
io.qameta.allure.playwright.TraceSession
Representa una sesión de traza activa de Playwright iniciada por AllurePlaywright.startTracing(). Implementa AutoCloseable.
attach
TraceSession.attach()
Detiene la traza y adjunta el archivo generado a la prueba o paso actual de Allure. Equivalente a close().
close
TraceSession.close()
Detiene la traza y adjunta el archivo generado a la prueba o paso actual de Allure. Usa try-with-resources para llamar a esto automáticamente:
try (TraceSession trace = AllurePlaywright.startTracing(context)) {
// acciones del navegador
}