WebDriver/RemoteProtocol: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(add link to docs)
(→‎FAQ: Add status of CDP implementation)
 
(29 intermediate revisions by 5 users not shown)
Line 1: Line 1:
The Firefox '''Remote Protocol''' is a low-level debugging interface based on the [https://chromedevtools.github.io/devtools-protocol/tot/ CDP protocol].  With it, you can inspect the state and control execution of documents running in web content, instrument Gecko in interesting ways, simulate user interaction for automation purposes, and debug JavaScript execution.
The Firefox '''Remote Protocol''' is a low-level debugging interface. With it, you can inspect the state and control execution of documents running in web content, instrument Gecko in interesting ways, simulate user interaction for automation purposes, and debug JavaScript execution. Our implementation is currently based on the [https://chromedevtools.github.io/devtools-protocol/tot/ CDP protocol] and we're exploring future possibilities for a standard bidirectional protocol in the form of [https://github.com/w3c/webdriver-bidi/ WebDriver Bidi].


== Contributing ==
== Contributing ==
Line 5: Line 5:
* [https://searchfox.org/mozilla-central/source/remote Source code]
* [https://searchfox.org/mozilla-central/source/remote Source code]
* [https://firefox-source-docs.mozilla.org/remote/ Documentation]
* [https://firefox-source-docs.mozilla.org/remote/ Documentation]
* [[Remote/Developer Resources]]


== Meetings ==
== For client users (Puppeteer, Playwright, etc.) and client authors ==


The team meets most Tuesdays (when [https://lists.mozilla.org/listinfo/dev-remote announced on the mailing list]) at 17:30 GMT/BST on [[Zoom]].  Meeting agendas are posted to the [[#Communication|mailing list]] in advance and minutes are [[Remote/Meetings|archived]] on this wiki.
We welcome feedback during this early stage of development.  


See [[Remote/Meetings]] for the list of past and upcoming meetings.
If you would like to try this out with your favorite browser automation library, you can download any recent version of Firefox. Feel free to ask questions and file bugs - see [[#Communication| Communication ]], below.  


=== Time zones ===
Do you have an automation project or end-to-end test suite that depends on Chrome DevTools Protocol, either directly or though a client library like Puppeteer or Playwright?


{| class="wikitable"
We'd love to learn about the API surface that you use the most:
|-
* Send us your [[Remote/Logging|protocol-level logs]] of your code/tests running against Chrome or Firefox
! Day of week !! Pacific Time !! Eastern Time !! GMT/BST !! CET/CEST !! IST !! Japan Time
* Point us to any open-source code you have
|-
| Tuesdays (when [https://lists.mozilla.org/listinfo/dev-remote announced]) || 9:30AM–10:00AM || 12:30AM–13:00AM || 17:30–18:00 || 18:30–19:00 || 22:00–22:30 || 01:30–02:00
|-
|}


=== Joining instructions ===
Reach out to us on [https://riot.im/app/#/room/#remote-protocol:mozilla.org #remote-protocol] on [[Matrix]] or you can tweet [https://twitter.com/FirefoxDevTools @FirefoxDevTools]


; By video ([[Zoom]])
=== FAQ ===
: [https://mozilla.zoom.us/j/751353848 751-353-848]
 
; One tap mobile
; Can I use Puppeteer with Firefox?
: +16465588656,,481683756# US (New York)
: puppeteer and puppeteer-core are able to launch Firefox as of v2.1.0. Since Firefox 86 also beta and release versions are supported. This is part of a gradual transition away from puppeteer-firefox. Check the [https://puppeteer.github.io/ispuppeteerfirefoxready/ IsFirefoxPuppeteerReady dashboard] to see the overall status, and our [[Remote/Milestones#All_MVP_Bugs|Milestone overview]] for the current status.
: +17207072699,,481683756# US
; What is the difference between puppeteer and puppeteer-firefox?
; Dial by your location
: puppeteer-firefox is an experimental package from Google. It communicates solely with an outdated Firefox fork and is no longer maintained. It is not compatible with official Firefox releases.
: +1 646 558 8656 US (New York)
; Can I use Playwright with Firefox?
: +1 720 707 2699 US
: Playwright communicates with a different Firefox fork, similarly to the deprecated puppeteer-firefox. The Firefox binary downloaded when installing Playwright is maintained by the Microsoft Playwright team, not Mozilla. In the future, Playwright should be able to interact with official Firefox binaries along the same lines as Puppeteer.
: 877 853 5257 US Toll-free
; Where can I see the current status of the CDP support?
: +61 2 8015 2088 Australia
: We are keeping the following [https://docs.google.com/spreadsheets/d/e/2PACX-1vRqKh563C0b0pnJruf85REpviTERnEoNEITEH3v9RvSCpkLzu9vw8c8_PAIgJoUpnUviVHV93u4V8V_/pubhtml?gid=108099026&single=true Google spreadsheet] up-to-date whenever a new API is getting added. It's important to note that our implementation of CDP will remain partial, and no further APIs might be added.
: +61 8 7150 1149 Australia
; Is WebDriver support going away?
: 1800 893 423 Australia Toll-free
: No.
: +1 647 558 0588 Canada
; Are you reducing support to only JavaScript-based tools?
: +33 1 8288 0188 France
: No. This work does not impact any existing or potential language bindings from other clients.
: +33 7 5678 4048 France
: 0 805 082 588 France Toll-free
: +49 30 3080 6188 Germany
: +49 30 5679 5800 Germany
: +49 69 8088 3899 Germany
: 800 724 3138 Germany Toll-free
: +852 5808 6088 Hong Kong, China
: +44 203 051 2874 United Kingdom
: +44 203 695 0088 United Kingdom
: +44 203 966 3809 United Kingdom
: 0 800 031 5717 United Kingdom Toll-free
: Find your local number: https://zoom.us/u/abQKz3TFn4


== Communication ==
== Communication ==


; [[Remote/News|Project News]]
; Mailing list
; Mailing list
: [mailto:dev-remote@lists.mozilla.org dev-remote@lists.mozilla.org] ([https://lists.mozilla.org/listinfo/dev-remote subscribe], [https://lists.mozilla.org/pipermail/dev-remote/ archive])
: [http://mailto:dev-webdriver@mozilla.org dev-webdriver@mozilla.org] ([https://groups.google.com/a/mozilla.org/g/dev-webdriver subscribe])
; Real-time chat
; Real-time chat
: ''#remote'' on the [https://devtools-html-slack.herokuapp.com/ DevTools Slack instance]
: [https://riot.im/app/#/room/#remote-protocol:mozilla.org #remote-protocol] on [[Matrix]]
; Bug tracking
; Bug tracking
: [https://bugzilla.mozilla.org/describecomponents.cgi?product=Remote%20Protocol <code>Remote Protocol</code>] in Bugzilla
: [https://bugzilla.mozilla.org/describecomponents.cgi?product=Remote%20Protocol <code>Remote Protocol</code>] in Bugzilla
: [https://bugzilla.mozilla.org/buglist.cgi?cmdtype=runnamed&namedcmd=Remote%20Agent&list_id=14652373 All ze boogs]
: [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&product=Remote%20Protocol&list_id=15478104&resolution=--- All ze boogs]
 
: [[Remote/Milestones|Milestones]]
== Staff ==
 
Our team is composed of these fine individuals:
 
{| class="wikitable"
|-
! Name !! IRC nickname !! Location !! Timezone !! Title
|-
| [https://sny.no/ Andreas Tolfsen] || ato || London || GMT/BST || Engineer
|-
| [https://hskupin.info/ Henrik Skupin] || whimboo || Germany || CET/CEST || Engineer
|-
| [http://www.theautomatedtester.co.uk/ David Burns] || AutomatedTester || Bournemouth || GMT/BST || Manager
|-
| Alexandre Poirot || ochameau || Paris || CET/CEST || Engineer
|-
| Julian Descottes || jdescottes || Lausanne || CET/CEST || Engineer
|-
| Marco Mucci || || Toronto || EST/EDT || Program Manager
|-
| Yulia Startsev || yulia || Berlin || CET/CEST || Engineer<br/><small>Currently focused on Fission in DevTools</small>
|-
|}

Latest revision as of 16:28, 8 June 2021

The Firefox Remote Protocol is a low-level debugging interface. With it, you can inspect the state and control execution of documents running in web content, instrument Gecko in interesting ways, simulate user interaction for automation purposes, and debug JavaScript execution. Our implementation is currently based on the CDP protocol and we're exploring future possibilities for a standard bidirectional protocol in the form of WebDriver Bidi.

Contributing

For client users (Puppeteer, Playwright, etc.) and client authors

We welcome feedback during this early stage of development.

If you would like to try this out with your favorite browser automation library, you can download any recent version of Firefox. Feel free to ask questions and file bugs - see Communication , below.

Do you have an automation project or end-to-end test suite that depends on Chrome DevTools Protocol, either directly or though a client library like Puppeteer or Playwright?

We'd love to learn about the API surface that you use the most:

  • Send us your protocol-level logs of your code/tests running against Chrome or Firefox
  • Point us to any open-source code you have

Reach out to us on #remote-protocol on Matrix or you can tweet @FirefoxDevTools

FAQ

Can I use Puppeteer with Firefox?
puppeteer and puppeteer-core are able to launch Firefox as of v2.1.0. Since Firefox 86 also beta and release versions are supported. This is part of a gradual transition away from puppeteer-firefox. Check the IsFirefoxPuppeteerReady dashboard to see the overall status, and our Milestone overview for the current status.
What is the difference between puppeteer and puppeteer-firefox?
puppeteer-firefox is an experimental package from Google. It communicates solely with an outdated Firefox fork and is no longer maintained. It is not compatible with official Firefox releases.
Can I use Playwright with Firefox?
Playwright communicates with a different Firefox fork, similarly to the deprecated puppeteer-firefox. The Firefox binary downloaded when installing Playwright is maintained by the Microsoft Playwright team, not Mozilla. In the future, Playwright should be able to interact with official Firefox binaries along the same lines as Puppeteer.
Where can I see the current status of the CDP support?
We are keeping the following Google spreadsheet up-to-date whenever a new API is getting added. It's important to note that our implementation of CDP will remain partial, and no further APIs might be added.
Is WebDriver support going away?
No.
Are you reducing support to only JavaScript-based tools?
No. This work does not impact any existing or potential language bindings from other clients.

Communication

Project News
Mailing list
dev-webdriver@mozilla.org (subscribe)
Real-time chat
#remote-protocol on Matrix
Bug tracking
Remote Protocol in Bugzilla
All ze boogs
Milestones