Referencia de Allure Selenium BiDi
AllureWebDriverBiDi
io.qameta.allure.seleniumbidi.AllureWebDriverBiDi
Captura eventos de logs del navegador y eventos de red mediante el protocolo BiDi y los adjunta como JSON al resultado de prueba activo de Allure.
Todos los métodos de configuración devuelven this para encadenamiento de métodos. Configura la instancia antes de llamar a decorate().
AllureWebDriverBiDi()
new AllureWebDriverBiDi()Crea una instancia con configuración predeterminada: captura de logs habilitada, captura de red habilitada, máximo 1000 entradas de logs, máximo 2000 eventos de red, lista de encabezados a ocultar predeterminada.
decorate
<T extends WebDriver> T decorate(T driver)Decora el WebDriver proporcionado con captura de eventos BiDi y devuelve la instancia decorada. Usa el driver devuelto para todas las interacciones de prueba.
Los eventos se capturan mientras un contexto de prueba de Allure está activo. Si el driver no soporta BiDi — por ejemplo, porque BiDi no fue habilitado en las opciones del driver — la decoración igualmente se realiza, pero no se capturan eventos ni se producen adjuntos.
Cuando se llama a driver.quit() en el driver decorado, los eventos recolectados se descargan como adjuntos al resultado de prueba activo.
logs
AllureWebDriverBiDi logs(boolean enabled)Indica si se capturan eventos de logs del navegador. Por defecto es true. Consulta logs.
network
AllureWebDriverBiDi network(boolean enabled)Indica si se capturan eventos de red. Por defecto es true. Consulta network.
maxLogEntries
AllureWebDriverBiDi maxLogEntries(int maxLogEntries)Número máximo de entradas de logs a retener por prueba. Por defecto es 1000. Debe ser >= 0. Consulta maxLogEntries.
maxNetworkEvents
AllureWebDriverBiDi maxNetworkEvents(int maxNetworkEvents)Número máximo de eventos de red a retener por prueba. Por defecto es 2000. Debe ser >= 0. Consulta maxNetworkEvents.
redactHeaders
AllureWebDriverBiDi redactHeaders(String... headerNames)Agrega nombres de encabezados a la lista de ocultación, extendiendo los predeterminados. Cada llamada reemplaza las adiciones de la llamada anterior — pasa todos los nombres de encabezados personalizados en una sola llamada. Consulta Ocultando encabezados.
close
void close()Descarga todos los eventos almacenados como adjuntos al resultado de prueba activo y cierra los listeners BiDi. Normalmente esto ocurre automáticamente al llamar a driver.quit(). Llama a close() explícitamente cuando necesites descargar antes de quit.
Esquemas de adjuntos
Ambos adjuntos usan el tipo de contenido application/json.
Sobre común
Tanto los adjuntos "WebDriver BiDi logs" como "WebDriver BiDi network" comparten la misma estructura de nivel superior:
| Campo | Tipo | Descripción |
|---|---|---|
entries | array | Entradas de logs o eventos de red recolectados. |
dropped | integer | Número de eventos descartados porque se alcanzó el límite de entradas. |
Entradas de "WebDriver BiDi logs"
Cada elemento de entries en el adjunto de logs representa un evento de log del navegador.
Campos presentes en todas las entradas de logs:
| Campo | Tipo | Descripción |
|---|---|---|
event | string | Tipo de evento: "console", "javascript" o "generic". |
timestamp | number | Marca de tiempo del evento en milisegundos. |
level | string | Nivel de log reportado por el navegador (por ejemplo, "info", "warn", "error"). Omitido si no se proporciona. |
text | string | Texto del mensaje de log. Omitido si no se proporciona. |
type | string | Cadena de tipo de entrada de log reportada por el navegador. Para entradas "console" y "javascript" esto es igual al valor de event. Para entradas "generic" lleva la etiqueta propia del navegador, que puede diferir de "generic". Omitido si no se proporciona. |
source | object | Fuente del contexto de navegación. Omitido si no se proporciona. Consulta Source. |
stackTrace | object | Pila de llamadas en el punto donde se emitió el evento. Omitido si no se proporciona. Consulta StackTrace. |
Campos adicionales en entradas "console":
| Campo | Tipo | Descripción |
|---|---|---|
method | string | Nombre del método de consola (por ejemplo, "log", "warn", "error"). Omitido si no se proporciona. |
args | array | Argumentos pasados a la llamada de consola. Cada elemento tiene la forma { type, value?, handle?, internalId?, sharedId? }. |
Source
| Campo | Tipo | Descripción |
|---|---|---|
realm | string | Identificador de realm. Omitido si no se proporciona. |
browsingContextId | string | Identificador de contexto de navegación. Omitido si no se proporciona. |
StackTrace
| Campo | Tipo | Descripción |
|---|---|---|
callFrames | array | Lista de frames de pila. Cada frame tiene url?, functionName?, lineNumber y columnNumber. |
Entradas de "WebDriver BiDi network"
Cada elemento de entries en el adjunto de red representa un evento de red.
Campos presentes en todas las entradas de red:
| Campo | Tipo | Descripción |
|---|---|---|
event | string | Tipo de evento: "beforeRequestSent", "responseStarted", "responseCompleted" o "fetchError". |
timestamp | number | Marca de tiempo del evento en milisegundos. |
blocked | boolean | Indica si la solicitud está actualmente bloqueada. |
redirectCount | number | Número de redirecciones que han ocurrido. |
intercepts | array of strings | Identificadores de intercept activos. |
browsingContextId | string | Identificador de contexto de navegación. Omitido si no se proporciona. |
navigationId | string | Identificador de navegación. Omitido si no se proporciona. |
request | object | Datos de la solicitud. Omitido si no se proporciona. Consulta Request. |
Campos adicionales según el tipo de evento:
| Evento | Campo adicional | Descripción |
|---|---|---|
"beforeRequestSent" | initiator | Cómo se inició la solicitud. Consulta Initiator. |
"responseStarted", "responseCompleted" | response | Datos de la respuesta. Consulta Response. |
"fetchError" | errorText | Cadena de descripción del error. |
Request
| Campo | Tipo | Descripción |
|---|---|---|
requestId | string | Identificador único de la solicitud. Omitido si no se proporciona. |
url | string | URL de la solicitud. Omitido si no se proporciona. |
method | string | Método HTTP (por ejemplo, "GET", "POST"). Omitido si no se proporciona. |
headers | array | Encabezados de la solicitud tras ocultación. Consulta Headers. |
headersSize | number | Tamaño de los encabezados de la solicitud en bytes. Omitido si no se proporciona. |
timings | object | Desglose de tiempos de fetch. Omitido si no se proporciona. Consulta Timings. |
Response
| Campo | Tipo | Descripción |
|---|---|---|
url | string | URL de la respuesta. Omitido si no se proporciona. |
protocol | string | Protocolo de red (por ejemplo, "http/1.1", "h2"). Omitido si no se proporciona. |
status | number | Código de estado HTTP. |
statusText | string | Texto de estado HTTP. Omitido si no se proporciona. |
fromCache | boolean | Indica si la respuesta fue servida desde caché. |
headers | array | Encabezados de la respuesta tras ocultación. Consulta Headers. |
mimeType | string | Tipo MIME de la respuesta. Omitido si no se proporciona. |
bytesReceived | number | Total de bytes recibidos. |
headersSize | number | Tamaño de los encabezados de la respuesta en bytes. |
bodySize | number | Tamaño del cuerpo de la respuesta en bytes. |
contentLength | number | Valor del encabezado Content-Length. Omitido si no está presente. |
Initiator
| Campo | Tipo | Descripción |
|---|---|---|
type | string | Tipo de iniciador (por ejemplo, "script", "parser"). Omitido si no se proporciona. |
columnNumber | number | Número de columna en el origen. Omitido si no se proporciona. |
lineNumber | number | Número de línea en el origen. Omitido si no se proporciona. |
requestId | string | Identificador de la solicitud iniciadora. Omitido si no se proporciona. |
stackTrace | object | Pila de llamadas en el punto donde se inició la solicitud. Consulta StackTrace. Omitido si no se proporciona. |
Headers
Los encabezados se representan como un array de objetos:
[
{
"name": "Content-Type",
"value": { "type": "string", "value": "application/json" }
},
{
"name": "Authorization",
"value": { "type": "string", "value": "[REDACTED]" }
}
]Cada objeto de encabezado tiene name (string) y value (objeto con los campos type y value). El campo type es "string" para valores de texto o "base64" para valores binarios. Los valores de encabezado ocultados tienen su campo value establecido en "[REDACTED]".
Timings
Campos de tiempo en milisegundos, reflejando el modelo Resource Timing:
timeOrigin, requestTime, redirectStart, redirectEnd, fetchStart, dnsStart, dnsEnd, connectStart, connectEnd, tlsStart, requestStart, responseStart, responseEnd.