Marionette, the next generation of FirefoxDriver, is nearing completion. You can track the implementation status on our status page.

To help make sure that we are not breaking anything we are not supposed to. Below are steps required to get you going.

Installing Selenium

Note that you should be using Selenium 3.0 or later, which enables support for Marionette by default.


Before installing Selenium you may want to consider creating a virtual environment:

virtualenv env_name
source env_name/bin/activate

Then you will need to install Selenium. To do that, do the following.

pip install selenium


To install Selenium, you will need to get the Ruby Gem.

gem install selenium-webdriver

JavaScript (Node.js)

npm install selenium-webdriver

Setting up the Marionette executable

Just like the other drivers available to Selenium from other browser vendors, Mozilla has released an executable that will run alongside the browser.


You can find the latest executable on the GitHub release page.

Add executable to system path

The Selenium client bindings will try to locate the geckodriver executable from the system path. You will need to add the directory containing the executable to the system path.

On Unix systems you can do the following to append it to your system’s search path, if you’re using a bash-compatible shell:

export PATH=$PATH:/path/to/geckodriver

On Windows you need to update the Path system variable to add the full directory path to the executable. The principle is the same as on Unix.


Most of the configuration of geckodriver is handled by 'capabilities' passed from the client bindings, and so you should initially look at the documentation for these first. For anything else, or to understand more, please refer to the documentation.

Updating your tests to use Marionette

With Selenium 3.0 and later, you shouldn't need to do anything to use Marionette, as it's enabled by default.

Raising bugs

There are bound to be issues, and we would love to know about them. Please feel free to raise them on Bugzilla. To view what has been implemented, have a look at our status page.

Document Tags and Contributors

 Last updated by: davehunt,