From MozillaWiki
Jump to: navigation, search

Welcome to the Automation and Tools Projects Page.

We are the people who write the code that enables all our automated test systems (correctness, performance etc) to run. We are continually expanding, upgrading, and inventing new and better ways to do automated quality analysis at Mozilla. Most of our systems run on a per-checkin basis, and at the time of this writing we do roughly 300 checkins a day, and we run hundreds of thousands of tests per checkin, so you can imagine how many times our code gets run. If you like the idea of that kind of a challenge, we could use your help on some of the projects below. If you don't know how to get started, feel free to hop on irc (, into the channel #ateam and ask some questions.

The Goals

See our goals page.

Other Projects

Every quarter there are more things we'd like to do than we have time for. Below are some of these projects, broken down by areas and technologies so that you can find something that gets you excited.


Work in progress effort to create an index for all existing/WIP automation tools - Here.

Firefox for Android

The Firefox for Android project is a continual expansion of our test harnesses to better support the Android platform. Currently we only release Firefox on that platform (aka Fennec), but we might also begin testing web apps there in the near future. Familiarity with Android and a great knowledge of Python is very useful here.

  • Help expand our reach to x86 Android systems by aiding us in debugging and fixing test failures on that platform: see the collection of bugs beneath bug 891959

Firefox Desktop and General Automation Support

The desktop web browser Firefox continues to be our flagship product, and there is always ongoing work needed to ensure that we continue to support the new features that regularly land in Firefox. Many of the bugs here are more tractable simply because the test harnesses and tests involved are older code. This is a good spot for first-time contributors. These will involve Python knowledge and some JavaScript, depending on the bug.


The a-team maintains many of the systems and code that perform per-checkin testing on performance. There are many performance automation systems at Mozilla, and one of our current efforts is to pull them under one high-level dashboard, called Perfherder. A working knowledge of the web, Python, JavaScript, statistics, and great debugging skills would be helpful.

Tools & Dashboards

We create web-based tools and dashboards to help illustrate how our automation is doing. Datazilla is a performance dashboarding system, and Treeherder surfaces the status of our automation runs. We also maintain and continually improve Mozilla's Bugzilla installation, often contributing patches to the upstream general Bugzilla project. Python, JavaScript, and, in Bugzilla's case, Perl, are all used here, along with both relational and NoSQL databases.

ATeam Handbook

The ATeam Handbook is meant to be the definitive source of information on how we do things in the ateam, useful for new and old contributors alike. Currently in the planning phase.

Mentored Bugs

These bugs are things that we have identified as great starter bugs. Each bug contains a focused technology that is required and a mentor who has volunteered to help out people starting to work on the issue. If you've done a few mentored bugs, talk to your mentors about becoming a mentor yourself!

Full Query
ID Summary Priority Status Bug mentor
682901 catch the case where .finish() gets called before waitForExplicitFinish() -- NEW No bug_mentor
847275 make assertions cause test failures in mochitest-browser-chrome -- NEW No bug_mentor
884828 mozinstall.get_binary() should check for executable bit and be less confusing -- ASSIGNED No bug_mentor
939755 With httpd.js we sometimes don't get the most recent version of the file -- ASSIGNED No bug_mentor
940882 Consolidate waitForCondition implementations and switch to using TestUtils.waitForCondition -- ASSIGNED No bug_mentor
958147 Choose one of run-if or skip-if and get rid of the other -- REOPENED No bug_mentor
969334 mozinstall should not magically try to find the mount point of the DMG -- NEW No bug_mentor
996652 Scope the private symbols of head.js -- NEW No bug_mentor
1028895 Mouseover triggered in mochitest-browser & dt according to position of mouse cursor on test box -- NEW No bug_mentor
1036328 Support bisection in case of timeout/crash -- NEW No bug_mentor
1036934 Add test for content editing keyboard shortcuts -- NEW No bug_mentor
1066323 [mozlog] Mozlog shouldn't propagate unremarkable defaults to the raw log -- NEW No bug_mentor
1072912 Remove makefile targets for running tests from -- NEW No bug_mentor
1121710 Fix MenuBar class for correct handling of menus -- NEW No bug_mentor
1132057 [mozlog] HTML log should show the passed/failed tests on the top of the page as default -- NEW No bug_mentor
1137691 SpecialPowers.getFocusedElementForWindow is misnamed -- NEW No bug_mentor
1144075 marionette.restart() needs parameter for additional restart flags P3 NEW No bug_mentor
1164443 Mozinstall should only install in an empty dir P3 NEW No bug_mentor
1166355 [mozlog] HTML formatter generates wrong link for the gecko revision to -- NEW No bug_mentor
1176474 Mozregui: Add some tests -- NEW No bug_mentor
1177336 mozfile.remove uses excessive system calls -- NEW No bug_mentor
1191446 Create a mach command for rerunning failed jobs on a previous push using new code -- NEW No bug_mentor
1192866 Throw an exception when a non-top-level window is passed to synthesizeKey -- NEW No bug_mentor
1196305 [Qb] multiple groupby should string-join multiple columns, the aggregate? -- NEW No bug_mentor
1199700 add feature to make collecting nspr logs easier in reftest -- NEW No bug_mentor
1229089 Stop pre-processing reftest.js -- NEW No bug_mentor
1258664 Add more details about which chrome window handles are leaked in tearDown of a FirefoxTestCase -- NEW No bug_mentor
1273498 Update Puppeteer classes for MetaClass -- NEW No bug_mentor
1295617 [marionette harness tests] Improve display of test ids for parametrized tests P5 NEW No bug_mentor
1298803 Add test to quit Firefox via a shortcut P5 REOPENED No bug_mentor
1298900 [marionette harness tests] Improve readability of tests/fixtures using `num_fails_crashed` P5 NEW No bug_mentor
1311429 Reftest harness should use mozcrash.kill_and_get_minidump -- NEW No bug_mentor
1337013 Make gtest mach command invoke -- NEW No bug_mentor
1354458 Get rid of `self.wait_for_condition()` in favor of `Wait().until()` P3 NEW No bug_mentor
1354578 Replace legacy actions with WebDriver action commands in Marionette client P3 ASSIGNED No bug_mentor
1378174 [mozlog] Create a "sugar" formatter based on pytest-sugar P3 NEW No bug_mentor
1397417 [tracking] Convert mozbase unittests to pytest P3 NEW No bug_mentor
1397853 Enable py2 and py3 linter on testing/mochitest -- ASSIGNED No bug_mentor
1398087 Take Screenshot should capture top-level browser context, not current context P3 REOPENED No bug_mentor
1403677 [meta] Implement support for cropping of screenshots -- NEW No bug_mentor
1408754 Add configuration to send page to about:tabcrashed -- ASSIGNED No bug_mentor
1420372 Marionette client has to check for a valid pid of Firefox as returned with the capabilities P3 ASSIGNED No bug_mentor
1422606 Mozregression GUI please add support for --arg -- NEW No bug_mentor
1423899 Remove dependency to pageSource* HTML testcase files in P3 ASSIGNED No bug_mentor
1424287 [mozlog] Allow users to specify formatter color information in their machrc P3 NEW No bug_mentor
1428705 [manifestparser] Add support for Python 3 P3 ASSIGNED No bug_mentor
1428709 [mozhttpd] Add support for Python 3 P3 ASSIGNED No bug_mentor
1428711 [moznetwork] Add support for Python 3 P3 NEW No bug_mentor
1428714 [mozrunner] Add support for Python 3 P3 NEW No bug_mentor
1428716 [mozsystemmonitor] Add support for Python 3 P3 NEW No bug_mentor
1428718 [moztest] Add support for Python 3 P3 NEW No bug_mentor
1443572 Disable onboarding when using Marionette P3 ASSIGNED No bug_mentor
1446965 [mozlog] Buffer all test logs in 'mach' formatter and flush on failure P3 NEW No bug_mentor
1451860 Rename the tps Talos test to tabswitch P3 NEW No bug_mentor
1471916 [mozsystemmonitor] Add test manifest to testing/mozbase/ P3 NEW No bug_mentor
1475503 Stop using preprocessor in reftest.jsm -- ASSIGNED No bug_mentor
1487153 [moztest] Convert tests from unittests to pytest P2 ASSIGNED No bug_mentor
1494090 Add wrapper around pytest's '-x' flag to |mach python-test| -- NEW No bug_mentor
1499086 |mach python-test| still generates an empty root Pipfile P3 NEW No bug_mentor
1501669 Simplify command building logic P3 NEW No bug_mentor
1506829 Replace instances of "" with "ChromeUtils.idleDispatch" P3 REOPENED No bug_mentor
1519053 Set window handle for "Switch To Window" also as "handle" P3 NEW No bug_mentor
1519055 Set window handle for "switch_to_window" also as "handle" P3 NEW No bug_mentor
1527610 [mozlog] Library fails after python 3 update; TypeError: vars() argument must have _dict_ attribute -- NEW No bug_mentor
1528192 Add an option to use local page recordings instead of tooltool P3 ASSIGNED No bug_mentor

65 Total; 65 Open (100%); 0 Resolved (0%); 0 Verified (0%);

For reference, the old Projects Page (which is largely out of date, but interesting for historical reasons) is accessible here