Marionette is the remote protocol that lets out-of-process programs communicate with, instrument, and control Gecko-based browsers.
Marionette can be activated by passing the -marionette flag. To start Firefox with the remote protocol turned on:
% firefox -marionette … 1491228343089 Marionette INFO Listening on port 2828
This binds to a TCP socket, over which clients can communicate with Marionette using the protocol.
- Documentation for Marionette Python client, which is used in-tree to write many kinds of Marionette-based tests.
- Documentation for Firefox Puppeteer, which is used to in-tree to write Firefox UI tests.
Bugs are tracked in the Testing :: Marionette component.
If you prefer real-time chat, there is often someone in the #interop IRC channel on irc.mozilla.org. Don’t ask if you may ask a question; just go ahead and ask, and please wait for an answer as we might not be in your timezone.