Hire QA – Specialized in QA Recruitment, Technical Interviews and Testing Solutions

Where you have applied OOPS in Automation Framework

Category: Selenium WebDriver
ABSTRACTION
In Page Object Model design pattern, we write locators (such as id, name, xpath etc.,) in a Page Class. We utilize these locators in tests but we can’t see these locators in the tests. Literally we hide the locators from the tests.
Abstraction is the methodology of hiding the implementation of internal details and showing the functionality to the users.
INTERFACE
WebDriver driver = new FirefoxDriver();
we are initializing Firefox browser using Selenium WebDriver. It means we are creating a reference variable (driver) of the interface (WebDriver) and creating an Object. Here WebDriver is an Interface as mentioned earlier and FirefoxDriver is a class.

An interface can have methods and variables just like the class but the methods declared in interface are by default abstract.
INHERITANCE
We create a Base Class in the Framework to initialize WebDriver interface, WebDriver waits, Property files, Excels, etc., in the Base Class.
We extend the Base Class in other classes such as Tests and Utility Class. Extending one class into other class is known as Inheritance.
POLYMORPHISM
Combination of overloading and overriding is known as Polymorphism. We will see both overloading and overriding below.
Polymorphism allows us to perform a task in multiple ways.
METHOD OVERLOADING
We use implicit wait in Selenium. Implicit wait is an example of overloading. In Implicit wait we use different time stamps such as SECONDS, MINUTES, HOURS etc.,
A class having multiple methods with same name but different parameters is called Method Overloading
METHOD OVERLOADING
We use implicit wait in Selenium. Implicit wait is an example of overloading. In Implicit wait we use different time stamps such as SECONDS, MINUTES, HOURS etc.,
A class having multiple methods with same name but different parameters is called Method Overloading
ENCAPSULATION
In POM classes, we declare the data members using @FindBy and initialization of data members will be done using Constructor to utilize those in methods.
Encapsulation is a mechanism of binding code and data together in a single unit.

Leave a Reply

Your email address will not be published. Required fields are marked *