Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Marketplace UI tests for Firefox OS


Marketplace is a Python package based on Gaia.


You will need a Marionette enabled Firefox build that you can successfully connect to.


Installation is simple:

git clone
cd marketplace-tests-gaia
python develop


Please visit this page to understand and acknowledge the risks involved when running these tests.

Running Tests

To run tests using gaia test, your command-line will vary a little bit depending on what device you're using. The general format is:

gaiatest [options] /path/to/


--emulator arm --homedir /path/to/emulator:  use these options to
    let Marionette launch an emulator for you in which to run a test
--address <host>:<port>  use this option to run a test on an emulator
    which you've manually launched yourself, a real device, or a b2g
    desktop build.  If you've used port forwarding as described below,
    you'd specify --address localhost:2828
--testvars= (see section below)
--restart restart target instance between tests. This option will remove 
    the /data/local/indexedDB and /data/b2g/mozilla folders and restore the 
    device back to a common state

Testing on a Device

You must run a build of B2G on the device that has Marionette enabled. The easiest way to do that is to grab a nightly eng build, like this one for Unagi (currently it requires a Mozilla LDAP login). Flash that to your device.

You should not enable Remote Debugging manually on the device because there will be competing debuggers. See bug 764913.

If you are running the tests on a device connected via ADB (Android Debug Bridge), you must additionally set up port forwarding from the device to your local machine. You can do this by running the command:

adb forward tcp:2828 tcp:2828

ADB is available in emulator packages under out/host/linux_x86/bin. Alternatively, it may be downloaded as part of the Android SDK.

Test Variables

We use the --testvars option to pass in local variables, particularly those that cannot be checked into the repository. For example in gaia-ui-tests these variables can be your private login credentials, phone number or details of your WiFi connection.

To use it, copy testvars_template.json to a different filename but add it into .gitignore so you don't check it into your repository.

When running your tests add the argument: --testvars=(filename).json


"settings": {},

"wifi": {
    "ssid": ""

"marketplace": {
    "username": "",
    "password": ""

Writing Tests

Test writing for Marionette Python tests is described at

At the moment we don't have a specific style guide. Please follow the prevailing style of the existing tests. Use them as a template for writing your tests. We follow PEP8 for formatting, although we're pretty lenient on the 80-character line length.

Something went wrong with that request. Please try again.