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 147 release cycle.
Contributions
Firefox is an open source project, and we are always happy to receive external code contributions to our WebDriver implementation. We want to give special thanks to everyone who filed issues, bugs and submitted patches.
In Firefox 147, two WebDriver bugs were fixed by contributors:
- Sajid Anwar fixed an issue with
browsingContext.navigatewhich could return a payload with an incorrect URL. - Khalid AlHaddad added new WebDriver classic tests for the “Get All Cookies” command.
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, or the list of mentored JavaScript bugs for WebDriver BiDi. Join our chatroom if you need any help to get started!
General
- Fixed the new session response to include the required
setWindowRectproperty.
WebDriver BiDi
- Implemented the
input.fileDialogOpenedevent, which is emitted whenever a file picker is triggered by the content page, for instance after clicking on an input withtype="file". - Implemented the
emulation.setScreenSettingsOverridecommand to allow clients to emulate the screen dimensions for a list of browsing contexts or user contexts. - Fixed an issue where
browsingContext.navigatewithwait=nonedidn’t always contain the real target URL. - Updated
script.evaluateandscript.callFunctionto bypass Content Security Policy (CSP). - Fixed missing
script.realmCreatedevent for new browsing contexts created viawindow.open. - Updated
emulation.setLocaleOverrideto override theAccept-Languageheader. - Updated
emulation.setLocaleOverrideto throw an error when called with thelocaleargument equal toundefined.
Leave a Reply