Usage of Java Programming in Selenium
Java is a general purpose programming language as well as Software platform.
Java as Programming Language – To develop Software Applications (JDK include JRE, JVM)
Java as Software Platform – To provide Run-time Environment (JRE include JVM))
Java has 3 Important Parts / 3 Important Editions
1) Java Standard Edition / Core Java (Old Name J2SE)
2) Java Enterprise Edition / Advanced Java (Old Name J2EE)
3) Java Micro Edition (Old name J2ME)
1) Java Standard Edition / Core Java
For Test Automation with Selenium, Core Java/Java Standard edition is sufficient, Advanced Java is not required.
Java Standard Edition / Core Java for Selenium
First, Java Environment Setup (To Create and Execute Java Programs/Test Scripts)
Manual Testing – Test Case
UFT/QTP – Test / Test Script
Selenium – Test Case / Test Script
We write comments in Selenium Test Cases,
Use of Comments in Selenium:
i) To write Test Case headers
ii) To write Method headers
iii) To explain complex logic
2) Data Types
Data Types are used in Test Automation for storing and comparing specific type of data.
Access Modifiers are used in Selenium Test Cases to define access levels for Variables, methods etc… But most of the Time we use public access modifier only.
Non-Access Modifiers static, final etc… are used in our selenium Test Cases.
We use Variables in our Selenium Test Cases for storing and handling data.
We use Operators in Selenium Test Cases for performing Arithmetic, Comparison, and Logical Operations.
6) Control Flow Statements
i) Conditional Statements
ii) Looping Statements
iii) Branching Statements
We use Conditional Statements in our Test Cases for inserting Verification Points, and for Error handling.
We use Looping Statements in our Selenium Test Cases for repetitive execution(Ex: Data Driven Testing).
We use Arrays in our Test cases for handling Excel file like Table format Data.
Strings are more important for our Test Automation, whenever we read data from files and from Application objects then Computer program considers the data as String type data.
9) Input and Output Operations
We use Input for providing data for captcha (verification code) fields in our Test Cases.
We use Output statements to display output on the Console.
10) File Handling
We use Text Files or Excel files as resource for Data driven Testing.
i) Predefined Methods
ii) User defined Methods
We use Predefined methods to perform operations on Strings, Numbers, Arrays, Characters, Date and Time etc…
12) Exception Handling
Exception Handling is an important task in our Selenium Test Cases to handle Run-time errors.
Java OOPS (Object Oriented programming System)
Inheritance feature is limited use in selenium, We inherit (reuse) Methods/Components in our Test cases (From one Java Class to another)
Some times we use Method OverLoading and Method Overriding features in our test Cases, but limited use.
Ex: We create two or more methods with same name for easy maintenance.
Abstraction is the methodology of hiding the implementation of internal details and showing the functionality to the users.
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.
Encapsulation is a mechanism of binding code and data together in a single unit.
All the classes in a framework are an example of 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.
Follow me on social media: