๐ Working with ChromeDriver, GeckoDriver, and EdgeDriver in Java
Selenium WebDriver supports multiple browsers. Each browser has its own driver, which acts as a bridge between Selenium and the actual browser.
๐งฉ 1. What Are Browser Drivers?
Each browser (Chrome, Firefox, Edge, etc.) needs its own driver executable that translates Selenium commands into browser actions.
Browser Driver Class Used in Java Executable File
Google Chrome ChromeDriver ChromeDriver chromedriver.exe
Mozilla Firefox GeckoDriver FirefoxDriver geckodriver.exe
Microsoft Edge EdgeDriver EdgeDriver msedgedriver.exe
⚙️ 2. Setting Up Browser Drivers
Before using any driver, make sure you:
Download the correct driver version for your browser.
Add its path to your system or set it in your Java code using:
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
๐ 3. Using ChromeDriver
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class ChromeExample {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.com");
System.out.println("Title: " + driver.getTitle());
driver.quit();
}
}
Explanation:
We set the system property for ChromeDriver.
We create an object of ChromeDriver, which implements WebDriver.
The browser opens Google, prints the title, and then closes.
๐ฆ 4. Using GeckoDriver (for Firefox)
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FirefoxExample {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "path/to/geckodriver");
WebDriver driver = new FirefoxDriver();
driver.get("https://www.mozilla.org");
System.out.println("Title: " + driver.getTitle());
driver.quit();
}
}
Explanation:
geckodriver is the bridge between Selenium and Firefox.
The code is almost identical to Chrome — only the driver class changes.
๐ 5. Using EdgeDriver
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.edge.EdgeDriver;
public class EdgeExample {
public static void main(String[] args) {
System.setProperty("webdriver.edge.driver", "path/to/msedgedriver");
WebDriver driver = new EdgeDriver();
driver.get("https://www.microsoft.com");
System.out.println("Title: " + driver.getTitle());
driver.quit();
}
}
Explanation:
Edge uses the EdgeDriver class.
The process is identical — only the driver name and executable differ.
๐ง 6. Tips and Best Practices
✅ Use WebDriverManager (by Bonigarcia) to avoid manually downloading drivers:
import io.github.bonigarcia.wdm.WebDriverManager;
WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();
✅ Always call driver.quit() to close all browser windows.
✅ Keep drivers updated to match the browser version.
✅ Handle exceptions using try-catch when initializing drivers.
๐ Summary
Browser Driver Class System Property Executable
Chrome ChromeDriver webdriver.chrome.driver chromedriver.exe
Firefox FirefoxDriver webdriver.gecko.driver geckodriver.exe
Edge EdgeDriver webdriver.edge.driver msedgedriver.exe
Learn Selenium with JAVA Training in Hyderabad
Read More
Introduction to WebDriver Interface in Java
Difference Between Selenium RC, IDE, and WebDriver
How to Install and Configure Eclipse for Selenium Testing
Benefits of Using Selenium for Test Automation
Visit Our Quality Thought Institute in Hyderabad
Subscribe by Email
Follow Updates Articles from This Blog via Email
No Comments