Home Guide
How to run Selenium tests on Firefox using Firefox Driver
By Neha Vaidya, Community Contributor - March 27, 2020
Mozilla Firefox is one of the most widely used browsers in the world. It has enhanced features and is supported by a multitude of latest testing tools and techniques. One such tool is Selenium. Selenium uses Firefox Driver to link the test cases with the Firefox browser. In this guide, we discuss how Selenium Firefox driver aka GeckoDriver works with the help of an example.
Before proceeding further, learn how to execute Selenium test cases with Selenium Java Guide.
Let’s get started.
What is a Selenium Firefox Driver?
Selenium Firefox Driver, also called GeckoDriver is a browser engine developed by Mozilla for many applications. It provides a link between test cases and the Firefox browser. Without the help of GeckoDriver, one cannot instantiate the object of Firefox browser and perform automated Selenium testing. One can easily initialize the object of GeckoDriver using the following command:
WebDriver driver = new FirefoxDriver();
Why GeckoDriver is used?
After version 47, Mozilla Firefox came out with Marionette, which is an automation driver. It remotely controls either the UI or the internal JavaScript of a Gecko platform, such as Firefox. Hence, we require GeckoDriver for Firefox.
Know the differences between GeckoDriver and Marionette with this article on GeckoDriver vs Marionette.
Walkthrough on GeckoDriver Setup
Step 1: Navigate to the official Selenium website. Under third-party drivers, one will find all the drivers. Just click on the Mozilla GeckoDriver documentation as shown below.
Step 2: After that, check the latest supported platforms of GeckoDriver versions in the documentation and click on GeckoDriver releases as shown below:
Now, it will navigate to the GeckoDriver downloads link, where one can download the suitable driver based on the OS as it is platform agnostic. The snapshot below depicts all the available Selenium Firefox Driver releases.
Step 3: Once the zip file is downloaded, open it to retrieve the geckodriver executable file.
Step 4: Copy the path of the GeckoDriver and set the properties to launch the browser and perform testing.
Step 5: Understand the Selenium script to see how GeckoDriver is useful in instantiating the Mozilla Firefox browser and executing the test cases.
Also read: How to run Selenium Tests on IE using Selenium IE Driver.
Sample test using Selenium and Firefox Driver
In the example below, let’s understand how to search for the ‘Browserstack Guide’ in Firefox browser. The code will launch Firefox browser, navigate through google.com and locate the search box using name locator.
import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class Firefox_Example{ public static void main(String[] args) { System.setProperty("webdriver.gecko.driver",Path_of_Firefox_Driver"); // Setting system properties of FirefoxDriver WebDriver driver = new FirefoxDriver(); //Creating an object of FirefoxDriver driver.manage().window().maximize(); driver.manage().deleteAllCookies(); driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.get("https://www.google.com/"); driver.findElement(By.name("q")).sendKeys("Browserstack Guide"); //name locator for text box WebElement searchbutton = driver.findElement(By.name("btnK"));//name locator for google search searchbutton.click(); driver.quit(); } }
The code has used System.setproperty(“webdriver.gecko.driver”,Path_of_Firefox_Driver”); method to set the path of the Firefox Driver(GeckoDriver). Then it has created an object of Firefox Driver to instantiate the Mozilla Firefox browser and execute the test cases.
Try Running Selenium Tests using Firefox Driver for Free
On executing the code, GeckoDriver will launch Firefox browser, navigate through google.com and give the search result of the Browserstack Guide page as shown below.
Learn about ChromeDriver and how to execute the test cases using Google Chrome Driver with this article on Selenium ChromeDriver.
Try using the sample code to run a Selenium test with Firefox Driver. Since Firefox is so widely used, running automated tests as well as manual tests on it are integral to ensuring websites work well and offer users the best possible online experience. One can run tests on Firefox, using BrowserStack’s real device cloud.