WebDriver/RemoteProtocol/WebDriver BiDi: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (→‎WebDriver BiDi Milestone 1 (required): updated goal for basic logging events)
(→‎Project Status: Adding milestone 2 section)
Line 1: Line 1:
[https://w3c.github.io/webdriver-bidi WebDriver BiDi] is an extension of the [https://w3c.github.io/webdriver/ 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).
[https://w3c.github.io/webdriver-bidi WebDriver BiDi] is an extension of the [https://w3c.github.io/webdriver/ 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 [https://bugzilla.mozilla.org/enter_bug.cgi?product=Remote%20Protocol&component=WebDriver%20BiDi Remote Protocol :: WebDriver BiDi].
== Project Status ==
=== WebDriver BiDi Milestone 2 (required) ===
'''Goal''': Extend low-level code to prepare the implementation for the next BiDi features, and allow the Selenium project to start implementing the first BiDi feature (log.entryAdded). Further implement basic support for ''browsingContext.navigate''.
 
<bugzilla>
{
        "whiteboard": "[bidi-m2-mvp]",
        "priority":["P1","P2"],     
        "include_fields":"id, summary, status, assigned_to, priority, cf_fx_points"
}
</bugzilla>
 
=== WebDriver BiDi Milestone 2 (reserved) ===
<bugzilla>
{
        "whiteboard": "[bidi-m2-mvp]",   
        "priority":["P3"]
        "include_fields":"id, summary, status, assigned_to, priority, cf_fx_points"
}
</bugzilla>


== Project Status ==
=== WebDriver BiDi Milestone 1 (required) ===
=== 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).
'''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).

Revision as of 07:08, 13 September 2021

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

Project Status

WebDriver BiDi Milestone 2 (required)

Goal: Extend low-level code to prepare the implementation for the next BiDi features, and allow the Selenium project to start implementing the first BiDi feature (log.entryAdded). Further implement basic support for browsingContext.navigate.

Full Query
ID Summary Status Assigned to Priority Fx points
1601245 Enable Puppeteer and CDP tests in mochitest-remote for Fission RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 8
1686110 Release geckodriver 0.30.0 RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1693839 Add basic support for payload serialization RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 8
1694136 Refactor Remote Protocol documentation for various protocols (Marionette, WebDriver BiDi, and CDP) under /remote RESOLVED Julian Descottes [:jdescottes] P2 2
1694145 Implement basic support for session.unsubscribe RESOLVED Julian Descottes [:jdescottes] P2 2
1713443 MessageHandler: Support shared global session data that supports BiDi and CDP RESOLVED Julian Descottes [:jdescottes] P2 13
1720098 Need to validate Host and Origin headers for remote agent websockets connection RESOLVED Julian Descottes [:jdescottes] P2 2
1722659 Stop using singleton for MessageHandlerRegistry RESOLVED Julian Descottes [:jdescottes] P2 2
1723084 Add a shared try preset for remote protocol RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1725111 Add filter for top-level browsing contexts to MessageHandler broadcasting RESOLVED Julian Descottes [:jdescottes] P2 2
1726800 Finalize ModuleRegistry implementation RESOLVED Julian Descottes [:jdescottes] P2 2
1731548 Add "JavascriptLogEntry" support to log.entryAdded event RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1731553 Add support for "stackTrace" to ConsoleLogEntry and JavascriptLogEntry RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1731556 Automatically subscribe to events in case these were set globally RESOLVED Julian Descottes [:jdescottes] P2 2
1731574 Emit cached log entries when subscribing for `log.entryAdded` events RESOLVED Julian Descottes [:jdescottes] P2 8
1731576 [wdspec] Log pollution for "UnsupportedCommandError: test.test not supported for destination ROOT" when command is not supported RESOLVED Julian Descottes [:jdescottes] P2 2
1731790 Add blank implementation of Fetch.disable to prevent unknown method errors RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1733463 "origin" property of "Runtime.executionContextCreated" events contain URL instead of window origin RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1734208 Puppeteer causes Firefox to freeze because stdout/stderr pipes are no longer processed RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1735131 (Puppeteer) JavaScript error: chrome://remote/content/cdp/observers/ContextObserver.jsm, line 137: TypeError: can't access property "docShell", window is null RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1739976 Add basic support for payload deserialization RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1742359 Stale WebDriverBiDiConnection instances cause extra submission for registered events RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1742491 DevTools Toolbox inappropriately creates new MessageHandlerFrameChild instances RESOLVED Julian Descottes [:jdescottes] P2 2
1742580 Permanent TEST-UNEXPECTED-TIMEOUT | /webdriver/tests/bidi/log_entry_added/args.py | expected OK when Gecko 96 merges to Beta on 2021-12-06 RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1743083 MessageHandler Modules can be initialized before the corresponding MessageHandler is ready RESOLVED Julian Descottes [:jdescottes] P2 2
1744966 Intermittent /webdriver/tests/bidi/log_entry_added/event_buffer.py | test_console_log_cached_messages[javascript_error] - assert 4 == 3 RESOLVED Julian Descottes [:jdescottes] P2 2
1746216 Implement "session.status" command RESOLVED Julian Descottes [:jdescottes] P2 2

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


WebDriver BiDi Milestone 2 (reserved)

No results.

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


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+2] 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+2] 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+2] P2 2
1690469 Move Rust related files away from /remote RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1690472 Move sharable top-level modules to /remote/shared RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1690474 Move CDP specific code to /remote/cdp RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1690475 Reorganize /remote/test for CDP RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1691047 Marionette should restrict to a single active session only RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1691402 Extract session specific code from driver.js into a dedicated session module RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1691414 Refactor WebDriver session module to be shareable with WebDriver BiDi RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 8
1691446 Implement Session for WebDriver BiDi RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 8
1691481 Share Marionette's errors module with WebDriver BiDi RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] 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+2] P2 8
1693004 Add support for "webSocketUrl” capability to geckodriver RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1693296 Browser.close() has to ensure that Firefox will be closed even when something prevents it RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1693761 Add CI runs for MacOS on Puppeteer repository RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1693763 Re-enable CI runs for Windows on Puppeteer repository RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1693802 Make Connection.jsm work with both CDP and WebDriver BiDi RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] 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+2] P2 8
1693993 Move Marionette server code from /testing/marionette to /remote RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 8
1694143 Implement basic support for log.entryAdded RESOLVED Julian Descottes [:jdescottes] P2 8
1694144 Implement basic support for session.subscribe (for log.entryAdded) RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 8
1694322 "mach file-info bugzilla-component" broken for remote/cdp RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] 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+2] P2 8
1696160 Recommended preferences should only be reset when actually modified RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1699044 [wdspec] Add wdspec tests for Fenix / Firefox on Android RESOLVED James Graham [:jgraham] 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+2] P2 2
1704998 Allow WebSocket to be used by Remote Agent on Android RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] 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+2] P2 2
1710000 Allow the "remote-listening" observer to also print other messages to stderr RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1710839 Remove the "remote.enabled" preference RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1712902 Conditionally enable WebDriver Bidi on Nightly channel only RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1713439 MessageHandler: Initial MessageHandler support for content windows RESOLVED Julian Descottes [:jdescottes] P2 13
1713441 MessageHandler: Support command broadcasting for window contexts RESOLVED Julian Descottes [:jdescottes] P2 8
1713442 MessageHandler: Support events RESOLVED 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+2] P2 2
1713784 Implement basic support for session.new command (without capability matching) RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] 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+2] 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+2] 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+2] P2 2
1721148 Errors thrown during WebSocket upgrade could hang clients when reading HTTP response RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1721327 Share Marionette's assertion module with WebDriver BiDi RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1723026 Enable mochitest-remote suite on Fission platforms RESOLVED Julian Descottes [:jdescottes] P2 2
1724028 Starting firefox with --marionette --remote-debugging-port=XXXX triggers the load of eg. http://0.0.38.160 RESOLVED Julian Descottes [:jdescottes] P2 2
1724227 [wdspec] Only reset the current BiDi session if capabilities have been changed RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1725620 Permanent TEST-UNEXPECTED-TIMEOUT | /webdriver/tests/bidi/session_subscribe/subscribe.py | expected OK when Gecko 93 merges to Beta on 2021-09-06 VERIFIED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2
1725683 [wdspec] Session fixtures silently ignore SessionNotCreated exceptions RESOLVED Henrik Skupin [:whimboo][⌚️UTC+2] P2 2

62 Total; 0 Open (0%); 59 Resolved (95.16%); 3 Verified (4.84%);


WebDriver BiDi Milestone 1 (reserved)

No results.

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