WebDriver/RemoteProtocol/WebDriver BiDi
WebDriver BiDi is an extension of the WebDriver specification that offers a bidirectional communication between a webdriver compatible client and a remote end like Firefox. That means that beside sending commands to the browser and receiving responses, it will be also possible to register for certain events (e.g page load, network interception).
Product Backlog Status
Milestones
WebDriver BiDi Milestone 17 - In Planning
Goal: In this milestone, we are expanding WebDriver BiDi’s emulation features to make it easier to simulate locales, timezones, mobile devices etc. We are also adding support for retrieving network response bodies, which has been strongly requested by clients. Those features benefit existing WebDriver BiDi clients, and are also key requirements for Playwright adoption. Internally we keep supporting Desktop Test Engineering by improving our support for chrome privileged script evaluation and widget-level events..
Details: Milestone 17 status
WebDriver BiDi Milestone 16 - In Development
Goal: One key focus in this milestone is enhancing WebDriver’s ability to simulate user interactions accurately using widget-level events. These improvements are critical to unblocking the APZ team’s work on wheel scroll events and will enable them to complete writing tests in the scrollend focus area for Interop 2025. We’re also continuing our collaboration with the Playwright and Puppeteer teams to support their needs. This includes implementing new features such as the emulation of geolocation and language settings.
Details: Milestone 16 status
WebDriver BiDi Milestone 15 - Completed March 30th, 2025
Goal: During this milestone, we will prioritize internally requested features to support the Firefox Desktop Test Engineering and Platform teams. Additionally, we will continue implementing new WebDriver BiDi features requested by various test automation frameworks like Puppeteer, Cypress, and Selenium. We are also dedicating efforts to Playwright, which includes experimental WebDriver BiDi support but requires additional APIs such as configuring user contexts and emulation features like geolocation, that we aim to implement.
Details: Milestone 15 status
WebDriver BiDi Milestone 14 - Completed January 5th, 2025
Goal: During this milestone, our focus will be again on maintenance and bug fixes to support web developers and automation testing tools creators that rely on WebDriver BiDi. This includes:
- Maintenance and bug fixes for the existing WebDriver BiDi API.
- Maintenance and bug fixes for Mozilla's internal testing infrastructure, including Marionette and Geckodriver.
- Resolving bugs that are blocking the removal of CDP, which is crucial for reducing overall codebase maintenance.
Details: Milestone 14 status
WebDriver BiDi Milestone 13 - Completed November 17th, 2024
Goal: During this milestone, we will focus on expanding the scenarios where users can successfully run tests in Firefox using BiDi-based tools. Following the launch of official Puppeteer support for BiDi, we will address critical issues uncovered by users and work to close the feature gap with Chrome.
We will also tackle prerequisites for other tools, including Cypress, which are transitioning from our deprecated CDP backend to BiDi. Additionally, Playwright has developed a BiDi prototype and we'll focus on getting their testsuite to complete, so we can identify and prioritize the work required for full support.
Details: Milestone 13 status
WebDriver BiDi Milestone 12 - Completed September 29th, 2024
Goal: During this milestone, we will announce official Puppeteer support based on the WebDriver BiDi protocol for Firefox 129. This announcement will coincide with the release of Firefox 129 in August. We anticipate increased collaboration with developers and tool makers utilizing Puppeteer, and we will encourage tools using non-standard CDP to transition to the WebDriver BiDi standard protocol.
To assist our platform teams, we will improve the existing event dispatching system in Marionette and WebDriver BiDi to better simulate user interactions, starting with scrolling functionalities for both mouse wheel and touch input sources. Additionally, we will continue enhancing our network interception features in WebDriver BiDi to support more robust navigation testing scenarios.
Details: Milestone 12 status
WebDriver BiDi Milestone 11 - Completed June 30th, 2024
Goal: Our primary focus for Milestone 11 is to clear all blockers and fully support Puppeteer. By the end of Milestone 10, we've achieved 75% compliance with the Puppeteer test suite, aiming to reach as close to 100% as possible. Additionally, we're phasing out our partial Chrome DevTools Protocol (CDP) implementation, urging users to switch to WebDriver BiDi.
Details: Milestone 11 status
WebDriver BiDi Milestone 10 - Completed March 31st, 2024
Goal: Milestone 10's foremost focus is resolving the issues hindering the achievement of full Puppeteer support. In our current "experimental" phase, we aim to gather feedback from Puppeteer users and streamline the multi-browser testing process to minimize developer effort.
Details: Milestone 10 status
WebDriver BiDi Milestone 9 - Completed December 24th, 2023
Goal: Milestone 9 maintains its focus on aligning and integrating essential functionalities from Puppeteer and Selenium. Although we managed to implement most of these high-priority features in Milestone 8, some pending APIs still need to be integrated before Puppeteer can formally announce WebDriver BiDi support for Firefox. In our dedication to staying synchronized with Selenium, we're also addressing their top priorities. As a result, this milestone is dedicated to empowering clients to introduce new features and products to their users through WebDriver BiDi.
Details: Milestone 9 status
WebDriver BiDi Milestone 8 - Completed October 01st, 2023
Goal: Milestone 8 is centered around matching and integrating crucial features from Puppeteer and Selenium. This milestone is all about enabling those clients to ship features and products using WebDriver BiDi to their users. By doing so, we hope to encourage a continuous flow of valuable user feedback and collect success narratives. This feedback is crucial for the ongoing improvement and evolution of the WebDriver BiDi project, enabling us to better align with the needs and expectations of our user base.
Details: Milestone 8 status
WebDriver BiDi Milestone 7 - Completed July 02nd, 2023
Goal: This milestone aims to expand the set of APIs supported for creating basic automated tests using WebDriver BiDi. The newly added APIs will include support for HTTP authentication, improved user interaction with pages and prompts. Additionally, efforts will be made to maintain our infrastructure for the existing WebDriver based test suites.
Details: Milestone 7 status
WebDriver BiDi Milestone 6 - Completed April 9th, 2023
Goal: Support a minimal set of APIs for creating basic automated tests using WebDriver BiDi.
Details: Milestone 6 status
WebDriver BiDi Milestone 5 - Completed January 15th, 2023
Goal: Support required network and page events for HAR file generation.
Details: Milestone 5 status
WebDriver BiDi Milestone 4 - Completed September 20th, 2022
Goal: Support evaluating remote scripts, and passing javascript data between the browser and the client and vice-versa.
Details: Milestone 4 status
WebDriver BiDi Milestone 3 - Completed May 15th, 2022
Goal: Basic support for the browsingContext.navigate command, and collaboration with the Selenium project to get log.entryAdded support added.
Details: Milestone 3 status
WebDriver BiDi Milestone 2 - Completed December 19th, 2021
Goal: Extend the current WebDriver BiDi code base to fully support log.entryAdded events and allow clients to unsubscribe from this event.
Details: Milestone 2 status
WebDriver BiDi Milestone 1 - Completed September 10th, 2021
Goal: Adapt the existing Remote Agent code base, and make it ready for building support for WebDriver BiDi. Introduce support for basic logging events (plain string message).
Details: Milestone 1 status