, , ,

Firefox WebDriver Newsletter — 116

Posted by

WebDriver is a remote control interface that enables introspection and control of user agents. As such it can help developers to verify that their websites are working and performing well with all major browsers. The protocol is standardized by the W3C and consists of two separate specifications: WebDriver classic (HTTP) and the new WebDriver BiDi (Bi-Directional).

This newsletter gives an overview of the work we’ve done as part of the Firefox 116 release cycle.


With Firefox being an open source project, we are grateful to get contributions from people outside of Mozilla:

WebDriver code is written in JavaScript, Python, and Rust so any web developer can contribute! Read how to setup the work environment and check the list of mentored issues for Marionette, and geckodriver.

WebDriver BiDi

By enhancing the implementation of the WebDriver BiDi protocol we can offer more features to our users.

New command: session.end

With the support of the session.end command, users can terminate the automation session. This was previously only possible for sessions using both WebDriver Classic and WebDriver BiDi. It is now possible also for WebDriver BiDi-only sessions.

Capability matching for session.new

Capability matching is a feature already supported in WebDriver Classic. It allows to define expectations about the target browser, such as browser name, platform name, … But it is also used to configure the session to some extent. For instance to specify whether insecure certificates should be accepted.

When using the session.new command, users should provide a capabilities parameter, which can contain the alwaysMatch and the firstMatch properties. To learn more about those properties and capability matching in general, the WebDriver Capabilities page on MDN is a good reference.

Note that WebDriver BiDi sessions do not support all the capabilities from WebDriver classic, because some of them are irrelevant for WebDriver BiDi. The following capabilities are not supported for a WebDriver BiDi only session: pageLoadStrategy, timeouts, strictFileInteractability, unhandledPromptBehavior, webSocketUrl, moz:webdriverClick, moz:debuggerAddress, moz:firefoxOptions.

On top of this, the session.new result will also contain a capabilities property with the matched capabilities.

Bug fixes

The release 116 also comes with a few bug fixes, including:

Marionette (WebDriver classic)

Removing the moz:useNonSpecCompliantPointerOrigin capability

A deprecation warning for this capability was added since geckodriver 0.33.0. Support for this capability has now been removed in Firefox 116. Users who still need this feature can still use the Firefox 115 ESR release as long as it is supported.

Bug fixes

A couple of bugs have been fixed for Marionette and WebDriver Classic:

Leave a Reply

Your email address will not be published. Required fields are marked *