gecko-dev/testing/marionette
Nathaniel Nebel 103901d7dc Bug 1381459 - Allow closing of browserless tabs. r=whimboo
Closing a tab should always be allowed, even if the current content browser doesn't exist.
This can be the case when a tab gets moved to a different process.

MozReview-Commit-ID: LaU9MgEyCOx

--HG--
extra : rebase_source : 4b49693e0c9acdfc2407bd2f9a41fd501dad8d63
2017-11-24 03:11:18 -08:00
..
chrome
client Bug 1352497 - Remove about:healthreport. r=gfritzsche,nechen 2017-11-22 13:51:08 +01:00
components
doc Bug 1352497 - Remove about:healthreport. r=gfritzsche,nechen 2017-11-22 13:51:08 +01:00
harness Bug 1381459 - Allow closing of browserless tabs. r=whimboo 2017-11-24 03:11:18 -08:00
prefs
puppeteer Bug 1408044 - fix miscellaneous tests that depended on about: existing, r=dao 2017-11-15 17:19:33 +00:00
.eslintrc.js Bug 1371293 - Upgrade ESLint to version 4.8.0, configuration changes. r=mossop 2017-10-09 10:54:16 +01:00
.jsdoc.js
CONTRIBUTING.md NO BUG - Add Marionette contribution guide. r=me 2017-11-23 11:24:51 +00:00
README.md
accessibility.js
action.js Bug 1414329 - Make WebDriver:ClickElement wait for click events r=jgraham,whimboo 2017-11-03 19:20:46 +00:00
addon.js Bug 1408066 - Addon.js install fails if path is incorrect. r=whimboo 2017-10-19 23:31:52 -07:00
assert.js Bug 1408962 - Make add cookie command webdriver spec comformant r=ato,whimboo 2017-10-28 11:37:40 +01:00
atom.js
browser.js
capture.js
cert.js
cookie.js Bug 1408962 - Make add cookie command webdriver spec comformant r=ato,whimboo 2017-10-28 11:37:40 +01:00
dom.js
driver.js Bug 1381459 - Allow closing of browserless tabs. r=whimboo 2017-11-24 03:11:18 -08:00
element.js Bug 1406505 - Fix element.isInView to use table cells instead of rows. r=ato 2017-11-01 16:33:08 +01:00
error.js
evaluate.js Bug 1410796 - Drop element.isSVGElement. r=whimboo 2017-10-31 19:57:40 +00:00
event.js
format.js Bug 1405474 - Add more attributes for elements in pprint output. r=ato 2017-10-18 20:54:13 +02:00
frame.js Bug 1384956 - Get log level from main process when script is reloaded. r=whimboo 2017-11-11 17:43:24 -08:00
interaction.js Bug 1414329 - Make WebDriver:ClickElement wait for click events r=jgraham,whimboo 2017-11-03 19:20:46 +00:00
jar.mn
l10n.js Bug 1408044 - stop using about.dtd as an example in firefox-ui/puppeteer/marionette docs/tests, r=whimboo 2017-11-14 23:37:04 +00:00
legacyaction.js Bug 1400256 - Marshal IPC messages to and from frame script. r=whimboo 2017-10-05 17:57:17 +01:00
listener.js Bug 1384956 - Get log level from main process when script is reloaded. r=whimboo 2017-11-11 17:43:24 -08:00
mach_commands.py
mach_test_package_commands.py
message.js
modal.js
moz.build Bug 1411433 - Add docs for marionette and geckodriver to Mozilla Source Tree Docs; r=ato 2017-10-24 18:53:02 -04:00
navigate.js
packets.js
proxy.js Bug 1400256 - Serialise IPC messages with evaluate.toJSON. r=whimboo 2017-10-05 17:50:34 +01:00
reftest.js Bug 1411368 - Automatically fix no-multi-spaces issues raised when using ESLint 4. r=mossop 2017-10-26 11:47:01 +01:00
reftest.xul
server.js Bug 1352497 - Remove about:healthreport. r=gfritzsche,nechen 2017-11-22 13:51:08 +01:00
session.js Bug 1321516 - Switch to WebDriver conformant interactability checks. r=ato 2017-11-01 22:18:39 +01:00
stream-utils.js
sync.js
test_action.js Bug 1400256 - Adapt actions for implicitly unmarshaled elements. r=automatedtester 2017-10-09 19:55:27 +01:00
test_assert.js
test_browser.js
test_cookie.js Bug 1408962 - Make add cookie command webdriver spec comformant r=ato,whimboo 2017-10-28 11:37:40 +01:00
test_dom.js
test_element.js Bug 1410796 - Drop element.isSVGElement. r=whimboo 2017-10-31 19:57:40 +00:00
test_error.js Bug 1405474 - Add more attributes for elements in pprint output. r=ato 2017-10-18 20:54:13 +02:00
test_evaluate.js Bug 1410796 - Add basic evaluate.toJSON tests. r=whimboo 2017-10-31 20:02:07 +00:00
test_format.js Bug 1405474 - Add more attributes for elements in pprint output. r=ato 2017-10-18 20:54:13 +02:00
test_message.js
test_navigate.js
test_session.js Bug 1321516 - Switch to WebDriver conformant interactability checks. r=ato 2017-11-01 22:18:39 +01:00
test_sync.js
transport.js
unit.ini Bug 1410796 - Add basic evaluate.toJSON tests. r=whimboo 2017-10-31 20:02:07 +00:00
wm.js

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.

Bugs

Bugs are tracked in the Testing :: Marionette component.

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.