Best Way To Use WebDriverManager In Selenium

What is the use of WebDriverManager in Selenium?

In this blog post, we will discuss the best way to use WebDriverManager in Selenium. But Before proceeding to discuss the use of WebDriverManager in Selenium, let us talk about Selenium WebDriver first. Selenium Webdriver, as we all know, this is one of the major component provided by the Selenium automation software testing tool and is used to perform cross-browser testing across different popular and commonly used web browsers like Google Chrome, Mozilla Firefox, Microsoft Edge, Internet Explorer, etc., by QA automation testers working in the computer software and IT services industry. 

Selenium WebDriver uses automated test scripts supported by various programming or scripting languages like Java, Python, C#, Ruby, Perl, PHP, JavaScript, etc. and browser drivers like Chrome/Chromium Driver, Firefox/Gecko Driver, IE Driver, Edge Driver, and Safari Driver, etc., to execute test cases through the automation of these test scripts to check the functionality of a web-based application or website. 

Best Way To Use WebDriverManager In Selenium

Use of WebDriverManager in Selenium

We all know about the traditional way to execute Selenium automation test scripts on web browsers like Google and Mozilla Firefox etc., which is to download their browser drivers like Chrome/Chromium driver for Google Chrome and Firefox/Gecko driver for Mozilla Firefox. After the downloading process of these browser drivers is done, we have to set the property and path in our Selenium test scripts to access these browser drivers using System.set Property method by following syntax.

System.setProperty(“webdriver.chrome.driver”, “C:\\Users\\PrecisePC\\Documents\\chromedriver.exe”); for Google Chrome/Chromium web browser 

System.setProperty(“webdriver.gecko.driver”, “C:\\Users\\PrecisePC\\Documents\\geckodriver.exe”); for Mozilla Firefox web browser 

In a nutshell this process of manually downloading the browser drivers and setting their property as well as path in our automation test scripts is very time consuming and inefficient as well because if we set the property and path incorrectly in our automation test scripts then it will straight away display error in the console of third-party IDE tool like Eclipse IDE used to write Selenium test scripts because Selenium doesn’t provide in-built IDE to write automation test scripts. So, to avoid this problem Selenium provides an open-source Java library known as “WebDriverManager” designed by Dr Boni Garcia which automates this process for us through our automation test scripts rather than focusing too much on browser settings. 

Now we will know about the process on how to instantiate web browsers using WebDriverManager in Selenium. 

To perform this action, we just simply need to use this syntax instead of using System.setProperty() method in our Selenium automation test script, 

WebdriverManager.chromedriver.setup();  // It will setup Chrome browser in our automation script. 

WebdriverManager.geckodriver.setup();    // It will setup Firefox browser in our automation script. 

Methods to setup and use WebDriverManager in Selenium:  

a) First Method: Installation process of WebDriverManager using Selenium is very easy if we are working with Maven based Java project then our first step should be to go to Maven Repository website and just simply copy the Maven dependencies of WebDriverManager and paste in the pom.xml file which is the heart of our Maven based java project. 

b) Second Method: If we are working with simple Java Project without converting it to use as Maven based Java project then we have to download and then install the jar file of WebDriverManager in our Java project through configuration and set build path to add jar file of WebDriverManager in our Java Project. 

Sample java code to demonstrate use of Web Driver Manager in Selenium:

First Step: We will import some Selenium Packages in our automation test script using import statement. 

Second Step: We will create a WebDriverManager instance in our automation test script using WebdriverManager.chromedriver.setup() class code.

Third Step: We will create a driver instance of Google Chrome in our automation test script and then open a webpage for example, Google. 

Fourth Step: This is the final step as when we try to run our automation script, we expect Selenium using WebDriverManager to open the URL of Google webpage in chrome browser driver. 

import org.openqa.selenium.WebDriver; 

import org.openqa.selenium.chrome.ChromeDriver; 

import org.openqa.selenium.chrome.ChromeOptions; 

import io.github.bonigarcia.wdm.WebDriverManager; 

public class WebDriverManager Demo 

public static void main (String []  args) 

ChromeOptions ChromeOpt = new ChromeOptions(); 

WebDriverManager.chromedriver.setup();  

WebDriver driver = new ChromeDriver(ChromeOpt); 

driver.get(“https://www.google.com”);  // Chrome Browser driver will open Google web page  

driver.quit();  // Close the driver  

So, in this way, we can use the WebDriverManager management library class in Selenium, which allows us to manage the drivers, whether they are Chrome, Firefox, Internet Explorer, etc., required by the Selenium Web Driver, easily in an effective and efficient manner through automation.

Conclusion

WebDriverManager revolutionizes the manner in which browser drivers are managed in Selenium initiatives, imparting an unbroken and efficient approach to putting automation environments in place. By following the satisfactory practices mentioned above, you may leverage WebDriverManager to its full ability, ensuring that your Selenium checks are both reliable and clean to preserve. Embrace WebDriverManager and increase your test automation setup to the subsequent stage.

Whether you’re a pro QA expert or just starting out with Selenium, incorporating WebDriverManager into your workflow can appreciably streamline your testing method, allowing you to focus on what definitely matters—delivering incredible software.

For more information, visit our website at www.precisetestingsolution.com or call our office at 0120-368-3602. Also, you can send us an email at info@precisetestingsolution.com.

We look forward to helping your business grow!

Robotic Process Automation (RPA)
March 16, 2024

Robotic Process Automation (RPA): A Complete Guide

Explore the world of Robotic Process Automation (RPA): its

Locators in Selenium 
November 14, 2023

A Detailed Guide to Locators in Selenium

In this blogpost everything you need to know about

Precise Testing Solution Pvt Ltd