WebDriver/RemoteProtocol/WebDriver BiDi: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Adding milestone 16)
Line 6: Line 6:
== Milestones ==
== Milestones ==


=== WebDriver BiDi Milestone 15 - In Development ===
=== WebDriver BiDi Milestone 16 - In Development ===
'''Goal''':
 
'''Details''': [[WebDriver/RemoteProtocol/WebDriver_BiDi/Milestone_16|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.
'''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''': [[WebDriver/RemoteProtocol/WebDriver_BiDi/Milestone_15|Milestone 15 status]]
'''Details''': [[WebDriver/RemoteProtocol/WebDriver_BiDi/Milestone_15|Milestone 15 status]]


=== WebDriver BiDi Milestone 14 - Completed January 5th ===
=== 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:
'''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 the existing WebDriver BiDi API.
Line 19: Line 24:
'''Details''': [[WebDriver/RemoteProtocol/WebDriver_BiDi/Milestone_14|Milestone 14 status]]
'''Details''': [[WebDriver/RemoteProtocol/WebDriver_BiDi/Milestone_14|Milestone 14 status]]


=== WebDriver BiDi Milestone 13 - Completed November 17th ===
=== 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.  
'''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.  


Line 26: Line 31:
'''Details''': [[WebDriver/RemoteProtocol/WebDriver_BiDi/Milestone_13|Milestone 13 status]]
'''Details''': [[WebDriver/RemoteProtocol/WebDriver_BiDi/Milestone_13|Milestone 13 status]]


=== WebDriver BiDi Milestone 12 - Completed September 29th ===
=== 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.
'''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.


Line 33: Line 38:
'''Details''': [[WebDriver/RemoteProtocol/WebDriver_BiDi/Milestone_12|Milestone 12 status]]
'''Details''': [[WebDriver/RemoteProtocol/WebDriver_BiDi/Milestone_12|Milestone 12 status]]


=== WebDriver BiDi Milestone 11 - Completed June 30th ===
=== 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.
'''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.



Revision as of 08:21, 31 March 2025

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 16 - In Development

Goal:

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