Skip to content
Allure report logoAllure Report
Main Navigation ModulesDocumentationStarter Project

English

Español

English

Español

Appearance

Sidebar Navigation

Allure 3

Install & Upgrade

Install Allure

Upgrade Allure

Configure

Create Reports

How to generate a report

How to view a report

Improving readability of your test reports

Improving navigation in your test report

Reading Allure charts

Migrate from Allure 2

Allure 2

Install & Upgrade

Install for Windows

Install for macOS

Install for Linux

Install for Node.js

Upgrade Allure

Create Reports

How to generate a report

How to view a report

Improving readability of your test reports

Improving navigation in your test report

Features

Agent Mode

Test steps

Attachments

Test statuses

Assertion diffs

Sorting and filtering

Environments

Multistage Builds

Categories

Visual analytics

Test stability analysis

History and retries

Self-hosted storage

Quality Gate

Global Errors and Attachments

Timeline

Export to CSV

Export metrics

Guides

JUnit 5 parametrization

JUnit 5 & Selenide: screenshots and attachments

JUnit 5 & Selenium: screenshots and attachments

Setting up JUnit 5 with GitHub Actions

Pytest parameterization

Pytest & Selenium: screenshots and attachments

Pytest & Playwright: screenshots and attachments

Pytest & Playwright: videos

Playwright parameterization

Publishing Reports to GitHub Pages

Deploying Self-Hosted Storage with Docker

Deploying Self-Hosted Storage on Cloudflare Workers

Allure Report 3: XCResults Reader

How it works

Overview

Glossary

Test result file

Container file

Categories file

Environment file

Executor file

History files

Test Identifiers

Integrations

Azure DevOps

Bamboo

GitHub Action

Gradle

Jenkins

JetBrains IDEs

Maven

TeamCity

Visual Studio Code

Frameworks

AVA

Getting started

Configuration

Reference

Axios

Getting started

Configuration

Reference

Behat

Getting started

Configuration

Reference

Behave

Getting started

Configuration

Reference

Bun

Getting started

Configuration

Reference

Chai

Getting started

Reference

Codeception

Getting started

Configuration

Reference

CodeceptJS

Getting started

Configuration

Reference

Cucumber.js

Getting started

Configuration

Reference

Cucumber-JVM

Getting started

Configuration

Reference

Cucumber.rb

Getting started

Configuration

Reference

Cypress

Getting started

Configuration

Reference

Dart and Flutter

Getting started

Configuration

Reference

Fetch

Getting started

Configuration

Reference

Go

Getting started

Configuration

Reference

Jasmine

Getting started

Configuration

Reference

JBehave

Getting started

Configuration

Reference

Jest

Getting started

Configuration

Reference

JUnit 4

Getting started

Configuration

Reference

JUnit 5

Getting started

Configuration

Reference

Mocha

Getting started

Configuration

Reference

Newman

Getting started

Configuration

Reference

Node.js Test Runner

Getting started

Configuration

Reference

NUnit

Getting started

Configuration

Reference

PHPUnit

Getting started

Configuration

Reference

Playwright

Getting started

Configuration

Reference

Playwright Java

Getting started

Configuration

Reference

pytest

Getting started

Configuration

Reference

Pytest-BDD

Getting started

Configuration

Reference

Reqnroll

Getting started

Configuration

Reference

REST Assured

Getting started

Configuration

Robot Framework

Getting started

Configuration

Reference

Rust Cargo Test

Getting started

Configuration

Reference

RSpec

Getting started

Configuration

Reference

Selenium BiDi

Getting started

Configuration

Reference

SpecFlow

Getting started

Configuration

Reference

Spock

Getting started

Configuration

Reference

TestCafe

Getting started

Configuration

Reference

TestNG

Getting started

Configuration

Reference

Vitest

Getting started

Configuration

Reference

WebdriverIO

Getting started

Configuration

Reference

xUnit.net

Getting started

Configuration

Reference

On this page

Allure Selenium BiDi reference ​

AllureWebDriverBiDi ​

io.qameta.allure.seleniumbidi.AllureWebDriverBiDi

Captures browser log events and network events via the BiDi protocol and attaches them as JSON to the active Allure test result.

All configuration methods return this for method chaining. Configure the instance before calling decorate().

AllureWebDriverBiDi() ​

java
new AllureWebDriverBiDi()

Creates an instance with default configuration: log capture enabled, network capture enabled, maximum 1000 log entries, maximum 2000 network events, default header redaction list.

decorate ​

java
<T extends WebDriver> T decorate(T driver)

Decorates the supplied WebDriver with BiDi event capture and returns the decorated instance. Use the returned driver for all test interactions.

Events are captured while an Allure test context is active. If the driver does not support BiDi — for example, because BiDi was not enabled on the driver options — the decoration still succeeds but no events are captured and no attachments are produced.

When driver.quit() is called on the decorated driver, the collected events are flushed as attachments to the active test result.

logs ​

java
AllureWebDriverBiDi logs(boolean enabled)

Whether to capture browser log events. Defaults to true. See logs.

network ​

java
AllureWebDriverBiDi network(boolean enabled)

Whether to capture network events. Defaults to true. See network.

maxLogEntries ​

java
AllureWebDriverBiDi maxLogEntries(int maxLogEntries)

Maximum number of log entries to retain per test. Defaults to 1000. Must be >= 0. See maxLogEntries.

maxNetworkEvents ​

java
AllureWebDriverBiDi maxNetworkEvents(int maxNetworkEvents)

Maximum number of network events to retain per test. Defaults to 2000. Must be >= 0. See maxNetworkEvents.

redactHeaders ​

java
AllureWebDriverBiDi redactHeaders(String... headerNames)

Adds header names to the redaction list, extending the defaults. Each call replaces the previous call's additions — pass all custom header names in a single call. See Redacting headers.

close ​

java
void close()

Flushes all buffered events as attachments to the active test result and closes the BiDi listeners. Normally this happens automatically when driver.quit() is called. Call close() explicitly when you need to flush before quit.


Attachment schemas ​

Both attachments use content type application/json.

Common envelope ​

Both the "WebDriver BiDi logs" and "WebDriver BiDi network" attachments share the same top-level structure:

FieldTypeDescription
entriesarrayCollected log entries or network events.
droppedintegerNumber of events discarded because the entry limit was reached.

"WebDriver BiDi logs" entries ​

Each element of entries in the log attachment represents one browser log event.

Fields present on all log entries:

FieldTypeDescription
eventstringEvent kind: "console", "javascript", or "generic".
timestampnumberEvent timestamp in milliseconds.
levelstringLog level reported by the browser (e.g., "info", "warn", "error"). Omitted when not provided.
textstringLog message text. Omitted when not provided.
typestringThe log entry type string as reported by the browser. For "console" and "javascript" entries this equals the event value. For "generic" entries it carries the browser's own label, which may differ from "generic". Omitted when not provided.
sourceobjectBrowsing context source. Omitted when not provided. See Source.
stackTraceobjectCall stack at the point the event was emitted. Omitted when not provided. See StackTrace.

Additional fields on "console" entries:

FieldTypeDescription
methodstringConsole method name (e.g., "log", "warn", "error"). Omitted when not provided.
argsarrayArguments passed to the console call. Each element has the shape { type, value?, handle?, internalId?, sharedId? }.

Source ​

FieldTypeDescription
realmstringRealm identifier. Omitted when not provided.
browsingContextIdstringBrowsing context identifier. Omitted when not provided.

StackTrace ​

FieldTypeDescription
callFramesarrayList of stack frames. Each frame has url?, functionName?, lineNumber, and columnNumber.

"WebDriver BiDi network" entries ​

Each element of entries in the network attachment represents one network event.

Fields present on all network entries:

FieldTypeDescription
eventstringEvent kind: "beforeRequestSent", "responseStarted", "responseCompleted", or "fetchError".
timestampnumberEvent timestamp in milliseconds.
blockedbooleanWhether the request is currently blocked.
redirectCountnumberNumber of redirects that have occurred.
interceptsarray of stringsActive intercept identifiers.
browsingContextIdstringBrowsing context identifier. Omitted when not provided.
navigationIdstringNavigation identifier. Omitted when not provided.
requestobjectRequest data. Omitted when not provided. See Request.

Additional fields by event type:

EventAdditional fieldDescription
"beforeRequestSent"initiatorHow the request was initiated. See Initiator.
"responseStarted", "responseCompleted"responseResponse data. See Response.
"fetchError"errorTextError description string.

Request ​

FieldTypeDescription
requestIdstringUnique request identifier. Omitted when not provided.
urlstringRequest URL. Omitted when not provided.
methodstringHTTP method (e.g., "GET", "POST"). Omitted when not provided.
headersarrayRequest headers after redaction. See Headers.
headersSizenumberSize of the request headers in bytes. Omitted when not provided.
timingsobjectFetch timing breakdown. Omitted when not provided. See Timings.

Response ​

FieldTypeDescription
urlstringResponse URL. Omitted when not provided.
protocolstringNetwork protocol (e.g., "http/1.1", "h2"). Omitted when not provided.
statusnumberHTTP status code.
statusTextstringHTTP status text. Omitted when not provided.
fromCachebooleanWhether the response was served from cache.
headersarrayResponse headers after redaction. See Headers.
mimeTypestringResponse MIME type. Omitted when not provided.
bytesReceivednumberTotal bytes received.
headersSizenumberSize of the response headers in bytes.
bodySizenumberSize of the response body in bytes.
contentLengthnumberValue of the Content-Length header. Omitted when not present.

Initiator ​

FieldTypeDescription
typestringInitiator type (e.g., "script", "parser"). Omitted when not provided.
columnNumbernumberColumn number in the source. Omitted when not provided.
lineNumbernumberLine number in the source. Omitted when not provided.
requestIdstringIdentifier of the initiating request. Omitted when not provided.
stackTraceobjectCall stack at the point the request was initiated. See StackTrace. Omitted when not provided.

Headers ​

Headers are represented as an array of objects:

json
[
  {
    "name": "Content-Type",
    "value": { "type": "string", "value": "application/json" }
  },
  {
    "name": "Authorization",
    "value": { "type": "string", "value": "[REDACTED]" }
  }
]

Each header object has name (string) and value (object with type and value fields). The type field is "string" for text values or "base64" for binary values. Redacted header values have their value field set to "[REDACTED]".

Timings ​

Timing fields in milliseconds, mirroring the Resource Timing model:

timeOrigin, requestTime, redirectStart, redirectEnd, fetchStart, dnsStart, dnsEnd, connectStart, connectEnd, tlsStart, requestStart, responseStart, responseEnd.

Pager
Previous pageConfiguration
Next pageGetting started
Powered by

Subscribe to our newsletter

Get product news you actually need, no spam.

Subscribe
Allure TestOps
  • Overview
  • Why choose us
  • Cloud
  • Self-hosted
  • Success Stories
Company
  • Documentation
  • Blog
  • About us
  • Contact
  • Events
© 2026 Qameta Software Inc. All rights reserved.
A Markdown version of this page is available at /docs/selenium-bidi-reference.md