how does selenium driver work code example

Example 1: what is webdriver in selenium

WebDriver:

WebDriver object represents the browser in Selenium.
Using this object you can control the Web browser.
It is an interface of the org.openqa.selenium.* package.
Upon instantiating the implementations of this class 
the browser will be launched.
FirefoxDrive, ChromeDriver, 
InternetExplorerDriver, SafariDriver, OperaDriver, 
HtmlUnitDriver, RemoteWebDriver are few 
implementations of the WebDriver Interface.

Example 2: driver object in selenium

Driver class:
-Driver class is public, has a private
constructor and private WebDriver object
which named driver, so that no object
can be created outside the class. 
It is also an example for "singleton design pattern". 
-Webdriver driver is private and static.
Static so it is only a single copy and 
shared among the class. It is private 
so that it is encapsulated. It has a
public getter method which returns driver object 
(browser) based on the condition (if driver==null) 
as a result of launching a browser based on the 
info retrieved from .properties file using 
Configuration class get method. No setter method,
so it can not be modified anyway

Driver class is singleton
To create a singleton class, we need to
1.Declare constructor of class as private 
so nobody can instantiate a WebDriver
object of this class from out of it.
2.Declare a private static WebDriver object.
Static is needed to make it available globally.
3.Declare a public static method(getter)
with return type as object of class which 
should check if class is already instantiated once.

Tags:

Java Example