WebDriver/RemoteProtocol

From MozillaWiki
Jump to: navigation, search

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