
Now that we know the working of the firefox driver let us understand why we need it to execute our Selenium tests. Hence, the execution happens inside the browser. The client or the local system sends a request, which is the WebDriver call to the GeckoDriver. The GeckoDriver converts these request( s) into Marionette Protocol and transfers to Marionette Driver. Now, the server sends back the response to the client via the GeckoDriver. Additionally, to understand more about how it interacts, refer to the diagram below:

It works as a proxy between the local and remote end to translate calls into Marionette automation protocol. Just like the other drivers( e.g., ChromeDriver), a local server is started by this executable, which runs your selenium tests. The WebDriver connects with the firefox browser using the GeckoDriver.

Moreover, it is an executable file that the system paths for your test required. In simple words, GeckoDriver or Firefox driver links our Selenium tests with the Mozilla Firefox browser. Therefore, sometimes people often refer to it as Firefox driver when they mean it is the GeckoDriver. In other words, GeckoDriver is a proxy that interacts between W3C WebDriver-compatible clients and Gecko-based browsers like Firefox. GeckoDriver is the link between Selenium tests and the Firefox browser. Additionally, we can use it on Windows, macOS, Linux, Unix & BSD operating systems. The GeckoDriver is in C++ and JavaScript, as well in Rust since 2016. Different applications developed by Mozilla Foundation or Mozilla Corporation use it. Gecko is a web browser engine that has been developed by Mozilla. Let us first understand Gecko before understanding the GeckoDriver. What are the Common exceptions raised while using GeckoDriver?.How to run tests in Headless mode using GeckoDriver?.Similarly, how to setup GeckoDriver on macOS?.Similarly, how to set it up on Windows?.


