Geckodriver
Proxy for using W3C WebDriver compatible clients to interact with Gecko-based browsers.
This program provides the HTTP API described by the WebDriver protocol to communicate with Gecko browsers, such as Firefox. It translates calls into the Marionette remote protocol by acting as a proxy between the local- and remote ends.
Installation
Geckodriver can be installed through various distribution channels:
- You can download pre-built binaries for the most common platforms from our Releases page on GitHub.
- Alternatively, you can compile it yourself by using:
cargo install geckodriver
, or- Checking out the
release
branch or a specific tag.
For a detailed list of changes included in each release, please refer to the change log.
Documentation
WebDriver (work in progress)
- Commands
- Errors
- Types
Cross browser testing
Selenium (work in progress)
- C# API
- JavaScript API
- Java API
- Perl API
- Python API
- Ruby API
geckodriver usage
- Supported platforms
- Firefox capabilities
- Capabilities example
- Enabling trace logs
- Analyzing crash data from Firefox
Contributing
- Building
- Testing
- Releasing
- Self-serving an ARM build
Source code
geckodriver is made available under the Mozilla Public License.
Its source code can be found in mozilla-central under testing/geckodriver. This GitHub repository is only used for issue tracking and making releases.
Custom release builds
If a binary is not available for your platform, it’s possibe to create a custom build using the Rust toolchain. To do this, checkout the release tag for the version of interest and run cargo build
. Alternatively the latest version may be built and installed from crates.io
using cargo install geckodriver
.