This page is aimed at people who are new to Mozilla and want to contribute
to Mozilla source code related to Marionette Python tests, WebDriver
spec tests and related test harnesses and tools. Mozilla has both
git and Mercurial repositories, but this guide only describes Mercurial.

If you run into issues or have doubts, check out the Resources
section below and don’t hesitate to ask questions. :) The goal of these
steps is to make sure you have the basics of your development environment
working. Once you do, we can get you started with working on an
actual bug, yay!

Set up a Bugzilla account (and, if you like, a Mozillians profile).
Please include your IRC nickname in both of these accounts so we can work
with you more easily. For example, Eve Smith would set the Bugzilla name
to “Eve Smith (:esmith)”, where “esmith” is the IRC nick.

For a direct communication with us it will be beneficial to setup IRC.
Make sure to also register your nickname as described in the linked document.

Join our #interop channel, and introduce yourself to the team. :ato,
:AutomatedTester, :maja_zf, and :whimboo are all familiar with Marionette.
We’re nice, I promise, but we might not answer right away due to different
time zones, time off, etc. So please be patient.

When you want to ask a question on IRC, just go ahead an ask it even if
no one appears to be around/responding.
Provide lots of detail so that we have a better chance of helping you.
If you don’t get an answer right away, check again in a few hours –
someone may have answered you in the mean time.

You can view IRC logs on logbot to check if anyone has answered your
question while you were offline.

If you’re having trouble reaching us over IRC, you are welcome to send an
email to our mailing list instead. It’s a good
idea to include your IRC nick in your email message.

Follow the documentation on Contributing to get a sense of
our projects, and which is of most interest for you. You will also learn how to
get the Firefox source code, build your custom Firefox build, and how to run the
tests.

Once you are familiar with the code of the test harnesses, and the tests you might
want to start with your first contribution. The necessary steps to submit and verify
your patches are layed out in Patches.md.

Another guide for new contributors. It has not been updated in a long
time but it’s a good general resource if you ever get stuck on something.
The most relevant sections to you are about Bugzilla, Mercurial, Python and the
Development Process.