Gaia-ui-tests uses Gaiatest, a Python package based around Marionette. Gaiatest is designed to wrap HTML locators, Marionette calls and API calls together for interoperble communication and functiuonality. Marionette is based on the W3C standard developed for Selenium WebDriver — if you have used WebDriver and page objects before then you will find using Marionette and gaiatest easy.
Running and Writing Tests
- Environment Setup
- What you'll need before you run or write Gaiatest for the first time.
- Running Tests
- Guides to running gaia-ui-tests against device and desktopb2g in a variety of configurations.
- Gathering Power Draw
- How to use gaiatest to log power draw while a test is running.
There are two categories of bugs when using gaia-ui-tests:
- Marionette related bugs: If there are connection issues, marionette command not recognized, or tests that start to fail without much change in Gaia, this might be a marionette related bug. Before you report the bug, make sure it's not because of your unupdated marionette client/server. You can also view a list of current bugs to see if your problem is already being addressed. Reporting bugs in bugzilla is the best way to do so.
- Gaia-ui-tests bugs: When tests start to fail without much change in Gaia or the Marionette client, it might well be gaia-ui-tests bugs. You can view and report bugs or report bugs in github at mozilla-b2g/gaia.
Note: It's kind of ambiguous to distinguish between these two, however, you can follow the basic rules set out above.
This project is at a fairly early stage, and Your feedback to email@example.com would be greatly appreciated.
Alternatively, find us on Mozilla IRC at channels #ateam, #mozwebqa, and #moztpeqa.