


Since geckodriver is a separate HTTP server that is a complete remote end implementation of WebDriver, it is possible to avoid using the Selenium remote server if you have no requirements to distribute processes across a matrix of systems. With the release of Firefox 47, FirefoxDriver had to be discontinued for its lack of support for the new multi-processing architecture in Gecko.

Generally speaking, Selenium 3 enabled geckodriver as the default WebDriver implementation for Firefox. The GeckoDriver must match the Firefox version, otherwise you can get incompatibility issues or have the issue that it simply doesn’t work. On Windows it is GeckoDriver.exe, but on Mac there are no. Because geckodriver implements the W3C WebDriver standard and not the same Selenium wire protocol older drivers are using, you may experience incompatibilities and migration problems when making the switch from FirefoxDriver to geckodriver. The GeckoDriver is a different executable on every operating system. If you are using geckodriver through Selenium, you must ensure that you have version 3.11 or greater. (In reply to Andreas Tolfsen :ato from comment 6) > A quick search indicates cl.exe is not exposed in the Windows command prompt > by default unless you enable the ‘SDK command line’ or install the C++ > requirements in Visual Studio. How you invoke geckodriver largely depends on your use case. Geckodriver is an implementation of WebDriver, and WebDriver can be used for widely different purposes.
