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.
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.
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.
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.
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!
Software testing is a critical phase in the software development lifecycle, ensuring the quality, reliability,…
What is a Requirement Traceability Matrix? A Requirement Traceability Matrix (RTM) is a document that…
What is A/B testing? Also known as split A/B Testing, is a method used to…
What Is Code to Cloud Security? Code to cloud security is the process of ensuring…
What is Cyclomatic Complexity? Cyclomatic complexity serves as a metric in software development that figures…
What are REST APIs? A REST APIs, or Representational State Transfer API, is a type…