When using Selenium WebDriver, you may be aware that you’re scripts must always know about the driver server (chromedriver, geckodriver etc.). This can be done in various different ways; setting the path in each script or adding the folder to the system path. We now have another, easier method; WebDriver Manager.
WebDriver Manager will handle the setup of the driver server, so all we have to do is add a dependency, a couple of lines of code and we are done for the entire project.
Step 1 – Adding the dependency to the pom.xml
- Open up the pom.xml file in your project
- Click the dependencies tab at the bottom of the pom file
- Select add
- Search for webdrivermanager
- Select the ‘io.github.bonigarcia webdrivermanager’
- Click OK
Step 2 – Add code to access WebDriverManager class
- Now head into your setup region/anywhere before you instantiate the browser
- Call the WebDriverManager class
- Use ‘.’ to open up the various methods belonging to the class
- For our example we are going to use Chrome
- This one line of code should handle everything, so we don’t have to tell the script about our driver server, or even download the file
package webdrivermanager; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import io.github.bonigarcia.wdm.WebDriverManager; public class WDManagerDemo { WebDriver driver; @Before public void setUp() throws Exception { //Add this line of code before you instantiate driver WebDriverManager.chromedriver().setup(); driver = new ChromeDriver(); } @After public void tearDown() throws Exception { if (driver != null) driver.quit(); } @Test public void test() { driver.get("https://www.edgewordstraining.co.uk/"); } }
For more information on the webdriver manager, please see: https://github.com/bonigarcia/webdrivermanager
For more information regarding Selenium WebDriver, head over to https://www.edgewordstraining.co.uk/automated-software-testing-training-courses/selenium-training/