WebDriver for Firefox
Перейти к файлу
Andreas Tolfsen edd647ad1f Merge pull request #163 from mozilla/e10s_remove
Remove e10s command line option.
2016-08-05 19:53:02 +01:00
src Remove e10s command line option. 2016-08-05 16:12:04 +01:00
.gitignore Add flag parsing and address parsing 2014-10-22 11:30:20 +01:00
.travis.yml Only deploy a single file when releasing 2016-07-01 17:23:57 +01:00
CHANGES.md correct changes and point ouf e10s default change 2016-08-03 15:34:20 +01:00
Cargo.lock Bump GeckoDriver to 0.10.0 and update Changelog 2016-08-02 23:40:31 +01:00
Cargo.toml Bump GeckoDriver to 0.10.0 and update Changelog 2016-08-02 23:40:31 +01:00
LICENSE Create LICENSE 2016-01-15 00:00:42 +00:00
README.md Update README.md 2016-08-04 17:04:00 +01:00
ci.sh Only deploy a single file when releasing 2016-07-01 17:23:57 +01:00

README.md

geckodriver Build Status

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 automation protocol by acting as a proxy between the local- and remote ends.

You can consult the change log for a record of all notable changes to the program.

Supported Firefoxen

Marionette and geckodriver are not yet feature complete. This means it does not yet offer full conformance with the WebDriver standard or complete compatibility with Selenium.

You can track the implementation status of the latest Firefox Nightly on MDN. We also keep track of known Marionette, Selenium, and specification problems in our issue tracker.

Marionette support is best in Firefox 48 and onwards, although the more recent the Firefox version, the more bug fixes and features. Firefox 47 is explicitly not supported.

Firefox capabilities

Note: The names of these capabilities will change in a future release to better match the precedent set by ChromeDriver.

geckodriver supports a couple of non-standard capabilities to customise and configure a Firefox session:

firefox_binary
Set to full path of the Firefox binary, e.g. /usr/bin/firefox or /Applications/Firefox.app/Contents/MacOS/firefox, to select which custom browser binary to use. If left undefined geckodriver will attempt to deduce the default location of Firefox on the current system.
firefox_profile
For each session, geckodriver creates a new temporary profile by default. To set custom preferences or use an add-on/extension, you may want to provide a custom profile. A profile can be sent across the wire protocol by setting this capability to its path on the local filesystem.

Building

geckodriver is written in Rust and you need the Rust toolchain to compile it.

To build the project for release, ensure you do a compilation with optimisations:

% cargo build --release

Or if you want a non-optimised binary for debugging:

% cargo build

Usage

Usage steps are documented on MDN, but the gist of it is this:

% geckodriver -b /usr/bin/firefox

Or if youre on Mac:

% geckodriver -b /Applications/FirefoxNightly.app/Contents/MacOS/firefox-bin