Interview Questions, Answers and Tutorials

Category: Core Java

Core Java is that the part of the Java programing language that’s used for creating or developing a general-purpose application but we will use it in Selenium automation.

17.2 User Interface Map

17.2.1| Creating a UIMap class to read locators from fileNow we will build a UIMap class to access locator information from a properties file. example part-1 example part-2 example part-3 17.2.2| Creating a sample TestNow let us create a sample test that would use the UIMap properties file and UIMap class file to locate elements.The following example opens the login page and then uses the UIMap file to locate login page elements. Sample Test  

17.1 User Interface Map

Selenium WebDriver API uses locator information to find elements on the page. Defining the locator information in the classes may result in duplication of element location information in various classes. Because of such duplication, it becomes increasingly difficult to maintain tests as the size of the test suite increases. Any change in element locator information requires updating of the element locator information in all the classes wherever it has been defined. Identifying classes which require an update and then updating them is a very time consuming and difficult task. In short, change identification and change implementation become a nightmare.   Read More

16.2 Annotation

16.2 | Custom Annotations Java provides the flexibility to define custom annotations as per need. An annotation is defined with the at-sign (@) preceding the interface keyword. The following steps show how to create and use custom annotations. Open Eclipse Select the package where annotation needs to be created. Right-click and select New → Annotation as shown in figure   Creating a new annotation file Specify annotation name say RegressionTest. The following code shows the annotation code with no annotations and parameters.   RegressionTest Above annotation can be directly used in code as:   Use of Annotation Annotate the annotation as required. Read More

16.1 Annotation

An annotation is a form of metadata that provides data about a program that is not part of the program itself. Annotations have no direct effect on the operation of the code which is annotated. The annotation has a number of uses and a few of them are as follows:  Annotation can be used by the compiler to detect errors or suppress warnings. Annotations can be examined at runtime. Software tools can be written that process annotation information to generate code, XML files, etc. An important use of annotation in test automation is to define the test type (functional, regression) Read More

15 Exception Handling

Exceptions in Java are objects. All exceptions are derived from the java.lang.Throwable class. Exceptions can be handled in Java using the try-catch-finally construct. Exceptions thrown by the try block of code are caught (handled) by the catch block. The following code shows an example of the try-catch-finally construct.   The output of the above example Whenever an exception is thrown by try block of code, it looks for catch construct which handles that exception. If no catch construct is found which handles the exception, then the exception is handled by the default exception handler. The catch construct is not executed if Read More

14 Interfaces

An interface is a group of related methods with empty bodies. In other words, it is a collection of abstract methods. An interface is not a class. A class implements an interface to inherit the abstract method of the interface. The following code shows an interface Cars, that has method make() and price().   The following steps show class Nissan which implements the Cars interface and define its abstract method make() and price(). 14.1 | Create a new class in Eclipse   1. Create a new class in Eclipse as defined in the previous post. 2. Provide reference of Cars interface as Read More

13 Abstract class

A class that is declared with the abstract keyword is known as an abstract class in Java. It can have abstract and non-abstract methods. If a class contains any abstract method then the class is declared as an abstract class. An abstract class is never instantiated. It is used to provide abstraction.   abstract class className { }   Before learning the abstract class, let’s understand the abstraction in Java first.     13.1 | Abstraction   Abstraction is a process of hiding the implementation details and showing only functionality to the user.    let’s take an example, We send Read More

12 Inheritance

Inheritance is a mechanism that allows classes to inherit the attributes of an existing class. It is used in situations where the subclass (which inherit attributes) is a subset of the superclass, whose attributes are Inherited. For example, suppose there are three classes of employee, developer, and tester. In this case, both developers and testers are employees. Here, the employee class can define generic attributes of employees. Specific attributes of developers can be defined in the developer class, while specific attributes of testers can be defined in the tester class. Both developer and tester are subclasses while an employee is Read More

11 Constructors & Enum

11.1 | Constructors   Constructor declarations are similar to method declarations. However, the constructors’ names must be the same as the class name and it cannot return a value. The main objective of a constructor is to set the initial state of an object. When the object is created by using the new operator. The following code shows how to declare constructors with and without input parameters.       11.2 | ENUM   Enum is a Java keyword used to represent a fixed number of well-known values. For example, the number of days in a week, the number of Read More

10 Class and Methods

10.1 | Class A class is a template from which objects are created. A class declaration typically contains a set of attributes (instance variables) and functions (methods).     10.2 | Methods In Java, functions, and procedures are called methods. Methods can include zero or more input parameters and zero or one return parameter. The following code shows some method declarations. An arithmetic class has two methods printSum and getSum. method printSum has two input parameters both of integer type and no return parameter. while method getSum has two integer type input parameters and one integer type return parameter.       Read More