gecko-dev/testing/marionette
Andreas Tolfsen 680e3c8a4b Bug 1375637 - Make test_async_script_timeout less likely to fail. r=automatedtester
By increasing the duration before setTimeout fires the callback and
the execute_async_script call returns control to the user we are
less likely that there is a race condition between the relatively
short 100 ms interruption time.

MozReview-Commit-ID: BVKRiU7a2gK

--HG--
extra : rebase_source : fd912d9ad2af9d736456d8fc713134d8facf2891
2018-02-07 18:15:20 +00:00
..
chrome
client Bug 1434430 - [flake8] Fix blank 'except' statements r=rwood 2018-01-31 14:32:08 -05:00
components Bug 1169290 - Allow nsIMarionette to be initialised from C++. r=maja_zf 2018-01-27 19:34:49 +00:00
doc Bug 1436508 part 10. Remove use of nsIDOMKeyEvent in JS. r=masayuki 2018-02-09 11:17:09 -05:00
harness Bug 1375637 - Make test_async_script_timeout less likely to fail. r=automatedtester 2018-02-07 18:15:20 +00:00
prefs Bug 1169290 - Reintroduce marionette.enabled pref. r=maja_zf 2018-01-27 19:03:18 +00:00
puppeteer Bug 1427350 - Part 2 - Rename _matchCount to matchCount. r=mak 2018-02-04 15:00:58 +00:00
.eslintrc.js Bug 1420577 - Add template literals to eslint max-len ignore list. r=ato 2017-12-05 08:06:17 +01:00
.jsdoc.js NO BUG - Correct README inclusion in Marionette API docs. r=me 2018-01-15 14:01:00 +00:00
CONTRIBUTING.md NO BUG - Fix links in contribution advice. r=me 2018-01-02 14:08:25 +00:00
README.md Bug 1425708 - Link to contribution and source docs in Marionette README. r=maja_zf 2018-01-02 12:20:05 +00:00
accessibility.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
action.js Bug 1429338 - Marionette has to honor "moz:useNonSpecCompliantPointerOrigin" capability. r=maja_zf 2018-01-23 17:31:06 +01:00
addon.js Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian 2018-01-29 15:20:18 -08:00
assert.js Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian 2018-01-29 15:20:18 -08:00
atom.js Bug 1354211 - Remove clearElement atom. r=automatedtester 2017-12-31 14:57:11 +00:00
browser.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
capture.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
cert.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
cookie.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
dom.js Bug 1405279 - Remove unused variables. r=whimboo 2017-10-03 14:35:47 +01:00
driver.js Bug 1429338 - Marionette has to honor "moz:useNonSpecCompliantPointerOrigin" capability. r=maja_zf 2018-01-23 17:31:06 +01:00
element.js Bug 1435666 - Part 3: Remove nsIDOMXPathResult. r=bz 2018-02-05 11:39:18 +08:00
error.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
evaluate.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
event.js Bug 1436508 part 10. Remove use of nsIDOMKeyEvent in JS. r=masayuki 2018-02-09 11:17:09 -05:00
format.js Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian 2018-01-29 15:20:18 -08:00
interaction.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
jar.mn Bug 1431155 - Move WindowState to Marionette browser module. r=automatedtester 2018-01-17 17:56:25 +00:00
l10n.js Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian 2018-01-29 15:20:18 -08:00
legacyaction.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
listener.js Bug 1429338 - Marionette has to honor "moz:useNonSpecCompliantPointerOrigin" capability. r=maja_zf 2018-01-23 17:31:06 +01:00
mach_commands.py Bug 1432813 - Remove warning on "./mach marionette-test". r=maja_zf 2018-01-24 19:13:34 +00:00
mach_test_package_commands.py Bug 1407763 - Enable py2 and py3 compat linters for testing/marionette. r=ahal 2018-01-17 16:14:43 +01:00
message.js Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian 2018-01-29 15:20:18 -08:00
modal.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
moz.build Backed out 2 changesets (bug 1403519) for bustage on \python\mozbuild\mozbuild\test\frontend\test_reader.py on a CLOSED TREE 2018-01-17 07:23:40 +02:00
navigate.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
packets.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
proxy.js Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian 2018-01-29 15:20:18 -08:00
reftest.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
reftest.xul Bug 1363428 - Add reftest-specific endpoints to Marionette, r=ato 2017-06-24 12:03:11 +01:00
server.js Bug 1169290 - Fire remote-active observer notification in component. r=maja_zf 2018-01-27 18:49:03 +00:00
session.js Bug 1429338 - Marionette has to honor "moz:useNonSpecCompliantPointerOrigin" capability. r=maja_zf 2018-01-23 17:31:06 +01:00
stream-utils.js Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian 2018-01-29 15:20:18 -08:00
sync.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_action.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_assert.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_browser.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_cookie.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_dom.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_element.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_error.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_evaluate.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_format.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_message.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_navigate.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
test_session.js Bug 1429338 - Marionette has to honor "moz:useNonSpecCompliantPointerOrigin" capability. r=maja_zf 2018-01-23 17:31:06 +01:00
test_sync.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
transport.js Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
unit.ini Bug 1410796 - Add basic evaluate.toJSON tests. r=whimboo 2017-10-31 20:02:07 +00:00
wm.js Bug 1431155 - Move WindowState to Marionette browser module. r=automatedtester 2018-01-17 17:56:25 +00:00

README.md

Marionette

Marionette is the remote protocol that lets OOP programs communicate with, instrument, and control Gecko.

Description

Marionette is an automation driver for Mozillas Gecko engine. It can remotely control either the UI or the internal JavaScript of Gecko-based browsers, such as Firefox and Fennec. It can control both the chrome and the content document, giving a high level of control and ability to replicate user interaction. In addition to performing actions on the browser, Marionette can also ready properties and attributes of the DOM.

Usage

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.

Clients

Clients may be implemented in any language that is capable of writing and receiving data over TCP socket. A reference client is provided. Clients may be implemented both synchronously and asynchronously, although the latter is impossible in protocol levels 2 and earlier due to the lack of message sequencing.

Contributing

If you want to help improve Marionette, we have more information in <CONTRIBUTING.md>. You will find additional development documentation at https://firefox-source-docs.mozilla.org/testing/marionette/marionette.

Communication

The mailing list for discussion is tools-marionette@lists.mozilla.org (subscribe, archive). If you prefer real-time chat, there is often someone in the #ateam IRC channel on irc.mozilla.org. Dont ask if you can ask a question, just ask, and please wait for an answer as we might not be in your timezone.