Skip to main content

Marionette test automation client for Gaia

Project description

Introduction
============

Gaiatest is a Python package based on
[Marionette](https://developer.mozilla.org/en-US/docs/Marionette), which is
designed specifically for writing tests against
[Gaia](https://github.com/mozilla-b2g/gaia).

Installation
============

Installation is simple:

easy_install gaiatest

If you anticipate modifying gaiatest, you can instead:

git clone git://github.com/mozilla/gaia-ui-tests.git
cd gaia-ui-tests
python setup.py develop

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/test_foo.py

If you are running tests directly in the repository, you will instead want to run (assuming you are in the gaia-ui-tests directory):

python gaiatest/runtests.py /path/to/test_foo.py

Options:

--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)

If you use the --address localhost:2828 option, you must additionally setup
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 the 'android debug bridge', and is available in emulator packages under
out/host/linux_x86/bin. Alternatively, it may be downloaded as part of the
Android SDK, at http://developer.android.com/sdk/index.html.

Testvars
========
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

Variables:

`this_phone_number (string)` The phone number of the SIM card in your device. Prefix the number with '+' and your international dialing code.

`remote_phone_number (string)` A phone number that your device can call during the tests (try not to be a nuisance!). Prefix the number with '+' and your international dialing code.

`wifi.ssid (string)` This is the SSID/name of your WiFi connection. Currently this does not support WPA/WEP/etc.


Writing Tests
=============

Test writing for Marionette Python tests is described at
https://developer.mozilla.org/en-US/docs/Marionette/Marionette_Python_Tests.
Additionally, gaiatest exposes some API's for managing Gaia's lockscreen
and application manager. See https://github.com/mozilla-b2g/gaia/blob/master/tests/python/gaiatest/gaia_test.py.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gaiatest-0.4.tar.gz (9.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page