Java Quick Tutorial for Selenium Part 2

Core Java Quick Tutorial for Selenium Part 2

In Java Quick Tutorial Part 1, I explained,

Java Environment Setup & Verify

A) Java Fundamentals
i) Comments in Java
ii) Java Data Types
iii) Java Modifiers
iv) Variables
v) Operators
vi) Conditional Statements
vii) Loop Statements
viii) String Handling in Java
ix) Arrays in Java
x) Java IO Operations
—————————————-
Java for Selenium Part 2

xi) File Handling
xii) Java Built-in Methods
xiii) Java User defined Methods
xiv) Java Exception Handling

B) Java OOPS (Object Oriented Programming System)
i) Inheritance
ii) Polymorphism
iii) Abstraction
iv) Encapsulation
—————————————-
xi) File Handling in Java

Using File Class we can handle Computer files.

Example:

1) Create a Folder

File fileObject = new File(“C:/Users/gcreddy/Desktop/ABC”);
fileObject.mkdir();
—————————————-
xii) Java Methods

A Java Method is a set of statements that are grouped together to perform an operation.

Methods are also known as Functions.

In structured programming (Ex: C Language) we use Functions (Built-in and User defined)

In Object Oriented Programming (Ex: Java Language) we use Methods (Built-in and User defined)
—————————————-
When we choose Methods?

Whenever we want perform any operation multiple times then we choose methods.

Advantages of Methods

Code Reusability, using methods we can reduce the project code size.

Code Maintenance is easy.
—————————————
ii) Types Methods in Java

Two types of Methods

1) Built in /Pre-defined Methods

2) User defined Methods
—————————————-
Examples for Built in Methods

equals() Method

Compares two strings and supports 2-way comparison

Example:

public static void main(String[] args) {
String str1 = “selenium”;
String str2 =”SELENIUM”;
String str3 =”seleniuma”;
String str4 = “selenium”;

System.out.println(str1.equals(str2));//false
System.out.println(str1.equals(str4));//true
—————————————
round()
Rounds the value to nearest integer.

public static void main(String[] args) {
double a =10.234;
double b =-10.784;

System.out.println(Math.round(a));//10
System.out.println(Math.round(b));//-11
}
—————————————
isAlphabetic()

Checks weather the value is alfa byte or not?

public static void main(String[] args) {
char a =’Z’;
char b =’1′;

System.out.println(Character.isAlphabetic(a));//true
System.out.println(Character.isAlphabetic(b));//false
System.out.println(Character.isAlphabetic(‘B’));//true
System.out.println(Character.isAlphabetic(‘a’));//true
System.out.println(Character.isAlphabetic(‘*’));//false
—————————————-
xiii) User Defined methods in Java

Two types of user defined methods

1) Method without returning any value
a) Calling Methods by invoking Object
b) Calling methods without invoking Object

2) Method with returning a Value
a) Calling Methods by invoking Object
b) Calling methods without invoking Object

Examples:

//User defined methods
public int multiply(int a, int b, int c){
int result = a*b*c;
return result;
}
public static void main(String[] args) {
//Create Object
JavaMethods abc = new JavaMethods();

//Call methods
int x = abc.multiply(10, 25, 35);
System.out.println(x);
———————————
//Create a method without returning any value
public static void studentRank(int marks){
if (marks >= 600){
System.out.println(“Rank A”);
}
else if (marks >=500){
System.out.println(“Rank B”);
}
else{
System.out.println(“Rank C”);
}
}

public static void main(String[] args) {
//Call Methods
JavaMethods.studentRank(650);
}
—————————————-
xiv) Java Exception Handling

> An Exception is an event that occurs during execution of a program when normal execution of a program
is interrupted.

> Exception handling is a mechanism to handle exceptions.

Common Scenarios where exceptions may occur

1) Scenario where ArithemeticException occurs

2) Scenario where NullPointerException occurs.

3) Scenario where NumberFormatException occurs

4) Scenario where ArrayIndexOutofBounds exception occurs

Example:

public static void main(String[] args) {
int a =10;
int b =0;
int result = a/b;
System.out.println(result);
System.out.println(“Hello Java”);
System.out.println(“Hello Selenium”);
}
—————————————-
B) Java Object Oriented Programming

Four fundamentals of OOPS:

i) Inheritance

ii) Polymorphism

iii) Abstraction

iv) Encapsulation
—————————————-
i) Inheritance

> It is a process of Inheriting (reusing) the class members (Variables and Methods) from one class to another.

> Non static class members only can be inherited.

> The Class where the class members are getting inherited is called as Super Class/parent Class/Base Class.

> The Class to which the class members are getting inherited is called as Sub Class/Child Class/Derived Class.

> The Inheritance between Super class and Sub class is achieved using “extends” keyword.
—————————–
Example

Class 1:

public class ClassA {
int a =10;
int b =20;

public void add(){
System.out.println(a+b);
}
public static void main(String[] args) {
ClassA objA = new ClassA();
System.out.println(objA.a);//10
objA.add();//30
}
}
——————————
Class 2:

public class ClassB extends ClassA{
int a =100;
int b =200;

public void add(){
System.out.println(a+b);
}
public static void main(String[] args) {
ClassB objB = new ClassB();
System.out.println(objB.a);//100
objB.add();//300
}
}
—————————————-
ii) Polymorphism

Existence of Object behavior in many forms

There two types of Polymorphism

1) Compile Time Polymorphism / Method Overloading

2) Run Time Polymorphism / Method Overriding
—————————————
1) Compile Time Polymorphism / Method Overloading

If two or more methods with same name in the same class but they differ in following ways.

a) Number of Arguments

b) Type of Arguments
————————————
Example:
————————————
public class Class1 {

public void add(int a, int b){
System.out.println(a+b);
}

public void add(int a, int b, int c){
System.out.println(a+b+c);
}

public void add(double a, double b){
System.out.println(a+b);
}

public static void main(String[] args) {

Class1 obj = new Class1();
obj.add(1.23, 2.34);
obj.add(10, 20);
obj.add(1, 5, 9);
}
}
—————————————-
iii) Abstraction

> It is a process of hiding implementation details and showing only functionality to the user.

Two types of Methods in Java

1) Concrete Methods (The methods which are having body)

2) Abstract Methods (The methods which are not having body)

> If we know the method name but don’t know the method functionality then we go for Abstract methods.

> Java Class contains 100% concrete methods.

> Abstract class contains one or more abstract methods.
—————————————-
Example for Abstract Class:

public abstract class Bikes {

public void handle(){
System.out.println(“Bikes have handle”);
}
public void seat(){
System.out.println(“Bikes have Seats”);
}

public abstract void engine();

public abstract void wheels();

public static void main(String[] args) {
//Bikes obj = new Bikes();

}
}
—————————————-
iv) Encapsulation

It is a process of wrapping code and data into a single unit.

Ex: Capsule (mixer of several medicines)

Encapsulation is the technique making the fields in a class private and providing access via public methods.

> It provides control over the data

> By providing setter and getter methods we can make a class read only or write only.
—————————————-
Example:

Class 1:

public class Class1 {
private String name =”Test Automation”;

public String getName(){
return name;
}
public void setName(String newName){
name = newName;
}
public static void main(String[] args) {
Class1 obj = new Class1();
System.out.println(obj.getName());
}
}
—————————————-
Class 2:

public class Class2 extends Class1{

public static void main(String[] args) {
Class2 abc = new Class2();
//abc.setName(“Selenium Testing”);
System.out.println(abc.getName());
}
}
—————————————-
Selenium Quick Tutorials

Tutorial 1: Introduction to Selenium
http://www.gcreddy.com/2016/06/selenium-the-beginning.html

Tutorial 2: Selenium Test Life Cycle
http://www.gcreddy.com/2016/06/selenium-test-life-cycle-2.html

Tutorial 3: Java Quick Tutorial for Selenium Part-1
http://www.gcreddy.com/2016/06/java-quick-tutorial-for-selenium.html

Tutorial 4: Java Quick Tutorial for Selenium Part-2
http://www.gcreddy.com/2016/06/java-quick-tutorial-for-selenium-part-2.html

Tutorial 5: Selenium Quick Tutorial Part-1
http://www.gcreddy.com/2016/06/selenium-webdriver-quick-tutorial.html

Tutorial 6: Selenium Quick Tutorial Part-2
http://www.gcreddy.com/2016/07/selenium-webdriver-quick-tutorial-part-2.html

Tutorial 7: TestNG Framework in Selenium
http://www.gcreddy.com/2016/07/testng-framework-quick-tutorial-for-selenium.html
——————————

Follow me on social media: