Using GeckoDriver
In this section, we will see how to configure and use Geckodriver for Firefox in our tests. First of all, we need to download the Geckodriver executable from https://github.com/mozilla/geckodriver/releases
Download the appropriate version of Geckodriver based on the Firefox version installed on your computer as well as the operating system. Copy the executable file into the /src/test/resources/drivers folder.
We will use the Search Test we created in Chapter 1 and modify the test to use the Geckodriver. For this, we need to modify the setup() method, provide the path of the Geckodriver binary in the webdriver.gecko.driver property, and instantiate the FirefoxDriver class:
public class SearchTest {
WebDriver driver;
@BeforeMethod
public void setup() {
System.setProperty("webdriver.gecko.driver",
"./src/test/resources/drivers/geckodriver.exe");
driver = new FirefoxDriver();
driver.get("http://demo-store.seleniumacademy.com/");
}
@Test
public void searchProduct() {
// find search box and enter search string
WebElement searchBox = driver.findElement(By.name("q"));
searchBox.sendKeys("Phones");
WebElement searchButton =
driver.findElement(By.className("search-button"));
searchButton.click();
assertThat(driver.getTitle())
.isEqualTo("Search results for: 'Phones'");
}
@AfterMethod
public void tearDown() {
driver.quit();
}
}
Now execute the test, and you will see Geckodriver running in the console:
1532165868138 geckodriver INFO geckodriver 0.21.0
1532165868147 geckodriver INFO Listening on 127.0.0.1:36466
It will launch a new Firefox window and execute the test. The Firefox window will be closed at the end of the execution.