Gaia UI Tests Introduction

  • Revision slug: Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests
  • Revision title: Gaia UI Tests Introduction
  • Revision id: 507237
  • Created:
  • Creator: zac_c
  • Is current revision? No
  • Comment

Revision Content

This page isn't finished yet.
Your feedback to gaia-ui-automation@mozilla.org would be greatly appreciated.

Introduction

Gaia-ui-tests is Mozilla's test suite for running end-to-end UI test cases against Gaia, the UI of Firefox OS. All the tests are written in Python with some javascript used for interacting with Firefox OS's APIs.

Gaia-ui-tests uses gaiatest, a Python package based around Marionette. Gaiatest is designed to wrap HTML locators, Marionette calls and API calls into common  . 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.

Quick links/resources:
The main repository : Mozilla-b2g/gaia.
Taipei localised repository: Mozilla-TWQA/gaia.

 

Running and Writing Tests

Environment Setup
What you'll need and need to do before you run or write the gaiatest the first time.
Running Tests
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

Bugs

There are two categories of bugs when using gaia-ui-tests; marionette related or gaia-ui-tests related. It's kind of ambiguous to distinguish between these two. However, you can follow the basic rules:
1. Marionette related bugs: If there are connection issues, marionette command not recognized, or tests that started 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. Report bug in bugzilla is the best way to do so.
2. Gaia-ui-tests: When tests started to fail without much changes in gaia and marionette client, it might be gaia-ui-tests bug.
*You can view bugs or report bugs in github at Mozilla-b2g/gaia.

Questions/Comments/Concerns

Email to gaia-ui-automation@mozilla.org. Or, find us on irc at channels #ateam, #mozwebqa, and #moztpeqa.

Revision Source

<div class="warning">
 <p><em><strong>This page isn't finished yet.<br />
  Your feedback to gaia-ui-automation@mozilla.org would be greatly appreciated.</strong></em></p>
</div>
<h2 id="Introduction">Introduction</h2>
<p>Gaia-ui-tests is Mozilla's test suite for running end-to-end UI test cases against Gaia, the UI of Firefox OS. All the tests are written in Python with some javascript used for interacting with Firefox OS's APIs.</p>
<p>Gaia-ui-tests uses gaiatest, a Python package based around <a href="https://developer.mozilla.org/en-US/docs/Marionette" title="https://developer.mozilla.org/en-US/docs/Marionette">Marionette</a>. Gaiatest is designed to wrap HTML locators, Marionette calls and API calls into common&nbsp; . Marionette is based on the W3C standard developed for <a href="http://docs.seleniumhq.org/projects/webdriver/" title="http://docs.seleniumhq.org/projects/webdriver/">Selenium WebDriver</a> - if you have used WebDriver and page objects before then you will find using Marionette and gaiatest easy.</p>
<p><em>Quick links/resources:</em><br />
 The main repository :<a href="https://github.com/mozilla-b2g/gaia/tests/python/gaia-ui-tests/" title="https://github.com/mozilla-b2g/gaia"> Mozilla-b2g/gaia</a>.<br />
 Taipei localised repository: <a href="https://github.com/Mozilla-TWQA/gaia/tests/python/gaia-ui-tests/" title="/Mozilla-TWQA/gaia-ui-tests">Mozilla-TWQA/gaia</a>.</p>
<p>&nbsp;</p>
<h2 id="Running_and_Writing_Tests">Running and Writing Tests</h2>
<dl>
 <dt>
  <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Gaia_UI_Tests_Installation" title="Gaia UI Tests Environment Setup">Environment Setup</a></dt>
 <dd>
  What you'll need and need to do before you run or write the gaiatest the first time.</dd>
 <dt>
  <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Gaia_UI_Tests_Run_Tests" title="Gaia UI Tests Run Tests">Running Tests</a></dt>
 <dd>
  Running gaia-ui-tests against device and desktopb2g in a variety of configurations.</dd>
 <dt>
  <a href="/en-US/Firefox_OS/Platform/Automated_testing/gaia-ui-tests/Gathering_power_draw_data_using_gaiatest">Gathering Power Draw</a></dt>
 <dd>
  How to use gaiatest to log power draw while a test is running</dd>
</dl>
<h2 id="Bugs">Bugs</h2>
<p>There are two categories of bugs when using gaia-ui-tests; marionette related or gaia-ui-tests related. It's kind of ambiguous to distinguish between these two. However, you can follow the basic rules:<br />
 1. Marionette related bugs: If there are connection issues, marionette command not recognized, or tests that started 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.<br />
 *You can also view a <a class="external text" href="https://bugzilla.mozilla.org/buglist.cgi?product=Testing&amp;component=Marionette&amp;resolution=---&amp;list_id=1844713" rel="nofollow">list of current bugs</a> to see if your problem is already being addressed. Report bug in <a href="http://bugzilla.mozilla.org/" title="http://bugzilla.mozilla.org/">bugzilla</a> is the best way to do so.<br />
 2. Gaia-ui-tests: When tests started to fail without much changes in gaia and marionette client, it might be gaia-ui-tests bug.<br />
 *You can view bugs or report bugs in github at <a href="https://github.com/mozilla-b2g/gaia" title="https://github.com/mozilla-b2g/gaia"> Mozilla-b2g/gaia</a>.</p>
<h2 id="Questions.2FComments.2FConcerns_"><span class="mw-headline" id="Questions.2FComments.2FConcerns">Questions/Comments/Concerns </span></h2>
<p>Email to gaia-ui-automation@mozilla.org. Or, find us on irc at channels #ateam, #mozwebqa, and #moztpeqa.</p>
Revert to this revision