WebDriver/RemoteProtocol: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (-)
(→‎FAQ: Add status of CDP implementation)
 
(21 intermediate revisions by 4 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 7: Line 7:
* [[Remote/Developer Resources]]
* [[Remote/Developer Resources]]


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


The team meets most '''Fridays at 14:00 UTC''' (when [https://lists.mozilla.org/listinfo/dev-remote announced on the mailing list]) .  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.  


=== Joining instructions ===
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?


; By video ([[Zoom]])
We'd love to learn about the API surface that you use the most:
: [https://mozilla.zoom.us/j/751353848 751-353-848]
* Send us your [[Remote/Logging|protocol-level logs]] of your code/tests running against Chrome or Firefox
; One tap mobile
* Point us to any open-source code you have
: +16465588656,,481683756# US (New York)
 
: +17207072699,,481683756# US
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]
; Dial by your location
 
: +1 646 558 8656 US (New York)
=== FAQ ===
: +1 720 707 2699 US
 
: 877 853 5257 US Toll-free
; Can I use Puppeteer with Firefox?
: +61 2 8015 2088 Australia
: 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.
: +61 8 7150 1149 Australia
; What is the difference between puppeteer and puppeteer-firefox?
: 1800 893 423 Australia Toll-free
: 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 647 558 0588 Canada
; Can I use Playwright with Firefox?
: +33 1 8288 0188 France
: 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.
: +33 7 5678 4048 France
; Where can I see the current status of the CDP support?
: 0 805 082 588 France Toll-free
: 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.
: +49 30 3080 6188 Germany
; Is WebDriver support going away?
: +49 30 5679 5800 Germany
: No.
: +49 69 8088 3899 Germany
; Are you reducing support to only JavaScript-based tools?
: 800 724 3138 Germany Toll-free
: No. This work does not impact any existing or potential language bindings from other clients.
: +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]]
: [[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
|-
| [http://www.theautomatedtester.co.uk/ David Burns] || AutomatedTester || Bournemouth || GMT/BST || Manager
|-
| [https://hskupin.info/ Henrik Skupin] || whimboo || Germany || CET/CEST || Engineer
|-
| Maja Frydrychowicz || maja_zf || Montreal || EST/EDT || Engineer
|-
| Marco Mucci || mmucci || Toronto || EST/EDT || Product Manager
|}

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