web-platform-tests / interop

web-platform-tests Interop project
https://wpt.fyi/interop
301 stars 28 forks source link

WebDriver BiDi #451

Closed mathiasbynens closed 8 months ago

mathiasbynens commented 1 year ago

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

wpt-interop commented 8 months ago

Thank you for proposing WebDriver BiDi for inclusion in Interop 2024.

We wanted to let you know that this proposal was not selected to be part of Interop this year.

This is because we got many more proposals than we could include in this year's project. Note that individual vendors may nevertheless choose to advance work in this area during the forthcoming year. We would welcome this proposal being resubmitted again next year if necessary.

For an overview of our process, see proposal selection. Thank you again for contributing to Interop 2024!

Posted on behalf of the Interop team.