Bug 1854550 - pt 2. Move PHC into memory/build r=glandium
[gecko.git] / remote / doc / marionette / index.rst
blob7272aff162dcf396603c85ddff538b0a93076ec1
1 ==========
2 Marionette
3 ==========
5 Marionette is a remote `protocol`_ that lets out-of-process programs
6 communicate with, instrument, and control Gecko-based browsers.
8 It provides interfaces for interacting with both the internal JavaScript
9 runtime and UI elements of Gecko-based browsers, such as Firefox
10 and Fennec.  It can control both the chrome- and content documents,
11 giving a high level of control and ability to emulate user interaction.
13 Within the central tree, Marionette is used in most TaskCluster
14 test jobs to instrument Gecko.  It can additionally be used to
15 write different kinds of functional tests:
17   * The `Marionette Python client`_ is used in the `Mn` job, which
18     is generally what you want to use for interacting with web documents
20 Outside the tree, Marionette is used by `geckodriver`_ to implement
21 `WebDriver`_.
23 Marionette supports to various degrees all the Gecko based applications,
24 including Firefox, Thunderbird, Fennec, and Fenix.
26 .. _protocol: Protocol.html
27 .. _Marionette Python client: /python/marionette_driver.html
28 .. _geckodriver: /testing/geckodriver/
29 .. _WebDriver: https://w3c.github.io/webdriver/
31 Some further documentation can be found here:
33 .. toctree::
34    :maxdepth: 1
36    Intro.md
37    Building.md
38    PythonTests.md
39    Protocol.md
40    Contributing.md
41    NewContributors.md
42    Patches.md
43    Debugging.md
44    Testing.md
45    Taskcluster.md
46    CodeStyle.md
47    SeleniumAtoms.md
48    Prefs.md
51 Bugs
52 ====
54 Bugs are tracked in the `Testing :: Marionette` component.
57 Communication
58 =============
60 The mailing list for Marionette discussion is
61 https://groups.google.com/a/mozilla.org/g/dev-webdriver.
63 If you prefer real-time chat, ask your questions
64 on `#webdriver:mozilla.org <https://chat.mozilla.org/#/room/#webdriver:mozilla.org>`__.