WebDriver/RemoteProtocol/WebDriver BiDi

From MozillaWiki
Jump to: navigation, search

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).

If you find a bug with Fission enabled please file a bug under Remote Protocol :: WebDriver BiDi.

Project Status

WebDriver BiDi Milestone 1 (required)

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).

Full Query
ID Summary Status Assigned to Priority Fx points
1601618 Use XPCOMUtils.defineLazyModuleGetters() to defer loading of not immediately necessary modules RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1609162 Intermittent remote/cdp/test/browser/<random> | Uncaught exception - [object ProgressEvent] (could not start server on port 9222) [NS_ERROR_SOCKET_ADDRESS_IN_USE] RESOLVED Julian Descottes [:jdescottes] P2 8
1676803 Build the Remote Agent on Android RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1680479 Make window handles of top-level browsing contexts unique (no change for browsing context swaps) RESOLVED Julian Descottes [:jdescottes] P2 8
1690468 Move Remote Agent component related files under /remote/components RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1690469 Move Rust related files away from /remote RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1690472 Move sharable top-level modules to /remote/shared RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1690474 Move CDP specific code to /remote/cdp RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1690475 Reorganize /remote/test for CDP RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1691047 Marionette should restrict to a single active session only RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1691402 Extract session specific code from driver.js into a dedicated session module RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1691414 Refactor WebDriver session module to be shareable with WebDriver BiDi RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 8
1691446 Implement Session for WebDriver BiDi RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 8
1691481 Share Marionette's errors module with WebDriver BiDi RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1691500 Extract window handling code to a shareable module RESOLVED Julian Descottes [:jdescottes] P2 8
1692984 Add support for "webSocketUrl” capability to Marionette RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 8
1693004 Add support for "webSocketUrl” capability to geckodriver RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1693296 Browser.close() has to ensure that Firefox will be closed even when something prevents it RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1693761 Add CI runs for MacOS on Puppeteer repository RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1693763 Re-enable CI runs for Windows on Puppeteer repository RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1693802 Make Connection.jsm work with both CDP and WebDriver BiDi RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 8
1693803 Share recommended preferences between Marionette and WebDriver BiDi RESOLVED Julian Descottes [:jdescottes] P2 2
1693805 Add support for handling BiDi connections RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 8
1693993 Move Marionette server code from /testing/marionette to /remote RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 8
1694143 Implement basic support for log.entryAdded NEW P2 8
1694144 Implement basic support for session.subscribe (for log.entryAdded) ASSIGNED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 8
1694322 "mach file-info bugzilla-component" broken for remote/cdp RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1694506 Sync vendored puppeteer to v8.0.0 RESOLVED Julian Descottes [:jdescottes] P2 8
1695031 Combine build configurations for Marionette and Remote Protocol into WebDriver RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 8
1696160 Recommended preferences should only be reset when actually modified RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1700392 Replace usage of marionette format.js by remote/shared/Format.jsm RESOLVED Julian Descottes [:jdescottes] P2 2
1702142 Unify logging between Marionette and Remote Agent RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1704998 Allow WebSocket to be used by Remote Agent on Android RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1707588 Sync vendored puppeteer to v9.1.1 RESOLVED Julian Descottes [:jdescottes] P2 2
1708633 Add port forwarding for the Remote Agent when testing mobile builds on Android RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1710000 Allow the "remote-listening" observer to also print other messages to stderr RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1710839 Remove the "remote.enabled" preference RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1712902 Conditionally enable WebDriver Bidi on Nightly channel only RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1713439 MessageHandler: Initial MessageHandler support for content windows RESOLVED Julian Descottes [:jdescottes] P2 13
1713441 MessageHandler: Support command broadcasting for window contexts ASSIGNED Julian Descottes [:jdescottes] P2 8
1713442 MessageHandler: Support events ASSIGNED Julian Descottes [:jdescottes] P2 8
1713775 Marionette should throw a SessionNotCreatedError when "webSocketUrl" capability is passed RESOLVED Julian Descottes [:jdescottes] P2 2
1713779 Also set "webdriver.log.*" preferences for debug and trace logs RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1713784 Implement basic support for session.new command (without capability matching) RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1714068 Sync vendored puppeteer to v10.0.0 RESOLVED Julian Descottes [:jdescottes] P2 2
1714348 Update chrome imports for Marionette modules that now live under /remote/content/marionette RESOLVED Julian Descottes [:jdescottes] P2 2
1717145 Recommended preferences aren't always reset during shutdown RESOLVED Julian Descottes [:jdescottes] P2 2
1718052 Replace usage of marionette log.js by remote/shared/Log.jsm RESOLVED Julian Descottes [:jdescottes] P2 2
1719667 Do not set recommended preferences when not wanted RESOLVED Julian Descottes [:jdescottes] P2 2
1719692 Stop using MarionettePrefs.logLevel and use remote.log.level instead RESOLVED Julian Descottes [:jdescottes] P2 2
1719833 Share WindowManager between Marionette and Remote Agent RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1720070 Permanent Talos RemoteAgent ERROR unable to stop listener: TypeError: can't access property "destructor", this.targetList is null(chrome://remote/content/cdp/CDP.jsm:92:5) JS Stack trace: stop@CDP.jsm:92:5 - DO NOT USE FOR CLASSIFICATION VERIFIED Julian Descottes [:jdescottes] P2 2
1720676 Don't run Remote Agent specific code when --remote-debugging-port hasn't been specified RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 8
1721012 Permanent /webdriver/tests/bidi/new_session/connect.py | test_websocket_url_connect[capabilities0] - KeyError: 'webSocketUrl' - when Gecko 92 merges to Beta on 2021-08-09 VERIFIED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1721148 Errors thrown during WebSocket upgrade could hang clients when reading HTTP response RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1721327 Share Marionette's assertion module with WebDriver BiDi RESOLVED Henrik Skupin (:whimboo) [⌚️UTC+1] P2 2
1723026 Enable mochitest-remote suite on Fission platforms ASSIGNED Julian Descottes [:jdescottes] P2 2

57 Total; 5 Open (8.77%); 50 Resolved (87.72%); 2 Verified (3.51%);


WebDriver BiDi Milestone 1 (reserved)

Full Query
ID Summary Status Assigned to Priority Fx points
1595878 Identify default preferences and set them earlier in remote agent setup NEW P3 ---
1646289 Replace uuid from TabTarget.id with unique window identifiers as used by WebDriver NEW P3 2
1656962 (Puppeteer) Firefox process is not handled properly on Windows NEW P3 2
1672366 Add browser chrome test to check the Browser's UI cue when Remote Agent is enabled NEW P3 2
1691501 Share unique window handles between Marionette and WebDriver BiDi NEW P3 2
1693836 Implement BiDi vs CDP command detection NEW P3 8
1693838 Add basic support for command's payload deserialization NEW P3 13
1693839 Add basic support for response's payload serialization NEW P3 13
1694127 Change recommended version of Firefox for Puppeteer from Nightly to Beta/Release NEW P3 8
1694136 Update Remote Protocol documentation for various protocols (Marionette, WebDriver BiDi, and CDP) separation NEW P3 2
1694145 Implement session.unsubscribe NEW P3 2
1694389 Implement browsingContext.contextCreated event NEW P3 8
1694390 Implement browsingContext.contextDestroyed event NEW P3 2
1694391 Implement browsingContext.getTree() NEW P3 8
1695032 Update Remote Agent mochitests to make those CDP only NEW P3 2
1699044 [wdspec] Add wdspec tests for Fenix / Firefox on Android NEW P3 8
1704394 Extract tab related helpers from browser.js to a shared tab-manager module NEW P3 2
1705003 Add GeckoView support to TabTarget NEW P3 2
1713440 MessageHandler: Support chrome window contexts NEW P3 8
1713443 MessageHandler: Support shared global session data that supports BiDi and CDP NEW P3 13
1713640 Add typescript checks for JS modules in /remote NEW P3 2
1713642 Start using the MessageHandler architecture for CDP NEW P3 13
1715481 Move RemoteAgent.debuggerAddress into CDP class NEW P3 2
1717899 Extend the lifetime of the Remote Agent to the Firefox session NEW P3 8
1717996 Log.verbose broken because it always evaluates to false NEW P3 2
1719505 Set "navigator.webdriver" for active connections via Remote Agent NEW P3 2
1723102 Implement full support for session.subscribe NEW P3 ---

27 Total; 27 Open (100%); 0 Resolved (0%); 0 Verified (0%);