Description
WebDriver BiDi is a new protocol for browser automation. It extends the “classic” WebDriver protocol by introducing bidirectional communication. In place of the strict command/response format of WebDriver, this permits events to stream from the browser to the controlling software, better matching the evented nature of the browser.
Rationale
Browser automation plays a critical role in the space of cross-browser testing. However, existing automation solutions are either 1) built on proprietary protocols, preventing their use across a wider range of browsers (e.g. Puppeteer being based on CDP); or 2) built on top of the “classic” WebDriver protocol which lacks a) the efficiency of bi-directional communication (e.g. Selenium) as well as b) powerful capabilities to automate modern Web Platform features.
WebDriver BiDi closes the gap between these trade-offs. In 2019, browser vendors Mozilla, Apple, and Google agreed to focus on WebDriver BiDi as the standardized way forward. Having WebDriver BiDi as an Interop 2024 focus area would continue on this path, and hopefully accelerate the availability of BiDi for web developers.
Specification
https://w3c.github.io/webdriver-bidi/
Open Issues
The spec is under active development, with many feature requests: https://github.com/w3c/webdriver-bidi/issues
All the functionality in the MVP roadmap has landed, however.
Tests
The WebDriver BiDi test suite is actively growing.
For the purposes of this Interop 2024 proposal and scoring progress, we’d carve out a specific subset of these tests, so that we’re not operating against a wildly moving target. The specific tests directories/modules we propose including are: session, script, log, errors, and browsing_context.
Current Implementations
Standards Positions
Browser bug reports
No response
Developer discussions
Relevant quote (source):
“As it is not a good idea to tie your tests to a specific version of any browser, the Selenium project recommends using WebDriver BiDi wherever possible.”
Polls & Surveys
Industry-wide surveys such as the MDN Web Developer Needs Assessment (2019, 2020) and the MDN Web Testing Report (2021) consistently identify cross-browser testing as one of the top developer pain points.
Existing Usage
Key industry stakeholders such as WebdriverIO, Selenium, and LambdaTest have already adopted WebDriver BiDi features to unlock new functionality for their users.
Workarounds
No response
Accessibility Impact
No response
Privacy Impact
No response
Other
W3C TAG review
Description
WebDriver BiDi is a new protocol for browser automation. It extends the “classic” WebDriver protocol by introducing bidirectional communication. In place of the strict command/response format of WebDriver, this permits events to stream from the browser to the controlling software, better matching the evented nature of the browser.
Rationale
Browser automation plays a critical role in the space of cross-browser testing. However, existing automation solutions are either 1) built on proprietary protocols, preventing their use across a wider range of browsers (e.g. Puppeteer being based on CDP); or 2) built on top of the “classic” WebDriver protocol which lacks a) the efficiency of bi-directional communication (e.g. Selenium) as well as b) powerful capabilities to automate modern Web Platform features.
WebDriver BiDi closes the gap between these trade-offs. In 2019, browser vendors Mozilla, Apple, and Google agreed to focus on WebDriver BiDi as the standardized way forward. Having WebDriver BiDi as an Interop 2024 focus area would continue on this path, and hopefully accelerate the availability of BiDi for web developers.
Specification
https://w3c.github.io/webdriver-bidi/
Open Issues
The spec is under active development, with many feature requests: https://github.com/w3c/webdriver-bidi/issues
All the functionality in the MVP roadmap has landed, however.
Tests
The WebDriver BiDi test suite is actively growing.
https://wpt.fyi/results/webdriver/tests/bidi?label=experimental&label=master&aligned (corresponding to https://github.com/web-platform-tests/wpt/tree/master/webdriver/tests/bidi).
For the purposes of this Interop 2024 proposal and scoring progress, we’d carve out a specific subset of these tests, so that we’re not operating against a wildly moving target. The specific tests directories/modules we propose including are:
session,script,log,errors, andbrowsing_context.Current Implementations
Standards Positions
Browser bug reports
No response
Developer discussions
Relevant quote (source):
Polls & Surveys
Industry-wide surveys such as the MDN Web Developer Needs Assessment (2019, 2020) and the MDN Web Testing Report (2021) consistently identify cross-browser testing as one of the top developer pain points.
Existing Usage
Key industry stakeholders such as WebdriverIO, Selenium, and LambdaTest have already adopted WebDriver BiDi features to unlock new functionality for their users.
Workarounds
No response
Accessibility Impact
No response
Privacy Impact
No response
Other
W3C TAG review