Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | <!-- This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 2 | - License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 3 | - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> |
michael@0 | 4 | |
michael@0 | 5 | # Marionette Client |
michael@0 | 6 | |
michael@0 | 7 | [Marionette](https://developer.mozilla.org/en/Marionette) is a |
michael@0 | 8 | Mozilla project to enable remote automation in Gecko-based projects, |
michael@0 | 9 | including desktop Firefox, mobile Firefox, and Boot-to-Gecko. |
michael@0 | 10 | |
michael@0 | 11 | It utilizes the [remote-debugger](https://wiki.mozilla.org/Platform/JSDebugv2) |
michael@0 | 12 | inside Gecko for the transport layer of the Marionette server. The commands |
michael@0 | 13 | the Marionette server will eventually implement are based on |
michael@0 | 14 | Selenium's [JSON Wire Protocol](http://code.google.com/p/selenium/wiki/JsonWireProtocol), |
michael@0 | 15 | although not all commands are presently implemented, and additional commands |
michael@0 | 16 | will likely be added. |
michael@0 | 17 | |
michael@0 | 18 | ## Package Files |
michael@0 | 19 | |
michael@0 | 20 | - client.py: This is the Marionette socket client; it speaks the same |
michael@0 | 21 | socket protocol as the Gecko remote debugger. |
michael@0 | 22 | - marionette.py: The Marionette client. This uses client.py to communicate |
michael@0 | 23 | with a server that speaks the Gecko remote debugger protocol. |
michael@0 | 24 | This allows Selenium tests to utilize Marionette. |
michael@0 | 25 | - testserver.py: A socket server which mimics the remote debugger in |
michael@0 | 26 | Gecko, and can be used to test pieces of the Marionette client. |
michael@0 | 27 | - test_protocol.py: Tests the Marionette JSON Protocol by using testserver.py. |
michael@0 | 28 | |
michael@0 | 29 | ## Installation |
michael@0 | 30 | |
michael@0 | 31 | You'll need the ManifestDestiny and MozHttpd packages from Mozbase: |
michael@0 | 32 | |
michael@0 | 33 | git clone git://github.com/mozilla/mozbase.git |
michael@0 | 34 | cd mozbase |
michael@0 | 35 | python setup_development.py |
michael@0 | 36 | |
michael@0 | 37 | Other than that, there are no special requirements. |
michael@0 | 38 | |
michael@0 | 39 | |
michael@0 | 40 | ## Writing and Running Tests Using Marionette |
michael@0 | 41 | |
michael@0 | 42 | See [Writing Marionette tests](https://developer.mozilla.org/en/Marionette/Tests), |
michael@0 | 43 | and [Running Marionette tests](https://developer.mozilla.org/en/Marionette/Running_Tests). |
michael@0 | 44 |