MainMenu

Home Core Java Overview Maven Tutorials

Wednesday, 6 February 2019

Can we override a private or static method in Java?

Can we override a private or static method in Java?



Hello Friends,
In this article , we will describe that in java we can not override private or static method :-

You cannot override a private or static method in Java. If you create a similar method with same return type and same method arguments in child class then it will hide the super class method; this is known as method hiding. Similarly, you cannot override a private method in sub class because it’s not accessible there. What you can do is create another private method with the same name in the child class. Let’s take a look at the example below to understand it better.

Example :-

class Parent
{
private static void test()
{
System.out.println("Static or class method from parent");
}
public void quality()
{
System.out.println("Non-static or instance method from parent");
}
class Child extends Parent
{
private static void test()
{
System.out.println("Static or class method from child");
}
public void quality()
{
System.out.println("Non-static or instance method from child");
}
public class myprogram
{
public static void main(String args[])
{
Parent obj= new Child();
obj.test();
obj.quality();
}
}



Tuesday, 29 January 2019

Get Number of rows and column in html table

How to get Number of rows & column in html table



Hello Friends,
In this article , i will describe how to get number of rows and column in html table :-

NameAgeGenderCity
Chandan30MaleDelhi
tina29FemaleAlaska
Martin31MaleGoa
merry25FemaleIndianapolis
jim35MaleAustria
Nisha28FemaleMumbai


Video


Here is the code to get the Number of rows and column from the table

public class Tablequiz
{
WebDriver driver;
@BeforeTest
public void g() throws InterruptedException, InvalidFormatException, IOException
{
System.setProperty("webdriver.chrome.driver", "D:\\Selenium\\Complete selenium\\ChromeDriver\\new\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
Thread.sleep(3000);
driver.navigate().to("http://www.way2testing.com/2019/01/get-number-of-rows-and-column-in-html.html");
}
@Test
public void h()
{
int rownum = driver.findElements(By.xpath("//*[@id='csc']/tbody/tr[*]")).size();
System.out.println("Total rows are :-" +rownum);
int columnnum = driver.findElements(By.xpath("//*[@id='csc']/tbody/tr[2]/td")).size();
System.out.println("Total columns are :-" +columnnum);
String rowtext = driver.findElement(By.xpath("//*[@id='csc']/tbody/tr[2]/td[1]")).getText();
System.out.println("Row Text is :" +rowtext);
}
}

OUTPUT :-
Total rows are :7
Total columns are :4
Row Text is :Chandan

Friday, 11 January 2019

Collection in Java

A brief intro of Java Collections



Hello Friends,
In this article , i will describe about collection in Java Language :-

COLLETION IN JAVA
Java collections refer to a single unit of objects.
You can perform all operations on data such as searching, sorting, insertion, manipulation, deletion, etc. by Java collections.
The Collection in Java is a framework that provides an architecture to store and manipulate the group of objects.
Java Collection framework provides many interfaces (Set, List, Queue, Deque) and classes (ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet).
What is a Java Collection Framework?
A Java collection framework provides an architecture to store and manipulate a group of objects. A Java collection framework includes the following:
Interfaces
Classes
Algorithm
Let’s learn about them in detail:
Interfaces: Interface in Java refers to the abstract data types. They allow Java collections to be manipulated independently from the details of their representation. Also, they form a hierarchy in object-oriented programming languages.
Classes: Classes in Java are the implementation of the collection interface. It basically refers to the data structures that are used again and again.
Algorithm: Algorithm refers to the methods which are used to perform operations such as searching and sorting, on objects that implement collection interfaces. Algorithms are polymorphic in nature as the same method can be used to take many forms or you can say perform different implementations of the Java collection interface.
The Java collection framework provides the developers to access prepackaged data structures as well as algorithms to manipulate data. Next, let us move to the Java collections framework hierarchy and see where these interfaces and classes resides.

Java Collections : Interface
Iterator interface : Iterator is an interface that iterates the elements. It is used to traverse the list and modify the elements. Iterator interface has three methods which are mentioned below:
public boolean hasNext() – This method returns true if the iterator has more elements.
public object next() – It returns the element and moves the cursor pointer to the next element.
public void remove() – This method removes the last elements returned by the iterator.

There are three components that extend the collection interface i.e List, Queue and Sets. Let’s learn about them in detail:
Java collections: List A List is an ordered Collection of elements which may contain duplicates. It is an interface that extends the Collection interface. Lists are further classified into the following:
ArrayList
LinkedList
Vectors
Let’s go into detail on each one of them:
Array list: ArrayList is the implementation of List Interface where the elements can be dynamically added or removed from the list. Also, the size of the list is increased dynamically if the elements are added more than the initial size.
ArrayList object = new ArrayList ();

Linked List: Linked List is a sequence of links which contains items. Each link contains a connection to another link.
Syntax: Linkedlist object = new Linkedlist();

Java Linked List class uses two types of Linked list to store the elements:
Singly Linked List
Doubly Linked List
Singly Linked List: In a singly Linked list each node in this list stores the data of the node and a pointer or reference to the next node in the list. Refer to the below image to get a better understanding of single Linked list.

Doubly Linked List: In a doubly Linked list, it has two references, one to the next node and another to previous node. You can refer to the below image to get a better understanding of doubly linked list.

Tuesday, 8 January 2019

Introduction of Appium

A brief intro of Appium



Hello Friends,
In this article , i will describe about mobile automation toolAppium :-

Before starting with the appium we should know about Emulator, Simulator & Real Devices

Simulator
A simulator is used in another thinking context, e.g a plane simulator, a car simulator, etc. The simulation will take care only of some aspect of the actual thing, usually those related to how a human being will perceive and control it. The simulator will not perform the functions of the real stuff, and cannot be sustituted to it.

Emulator
An emulator is a device that mimics something close enough so that it can be substituted to the real thing. E.g you want a circuit to work like a ROM (read only memory) circuit, but also wants to adjust the content until it is what you want.

Difference between Emulator & Simulator

1).An emulator can replace the original for real use. A Virtual PC emulates a PC.
A simulator is a model for study and analysis.

2). Simulation = For analysis and study
Emulation = For usage as a substitute



What is Emulator & Simulator in terms of mobile?

Emulator and simulator are virtual devices, A virtual devices is not the real phone but software which gives same functionality as the real phone(Except few functionality like camera).

Android Virtual devices : Emulator
iOS Virtual device : Simulator. Important Points
An Appium is an open source tool for automating mobile application which can be :-
Native
Hybrid
Web

Examples of hybrid apps
For many it is surprising to learn that some of the world’s most popular mobile apps turn out to be…hybrid! This includes: Amazon (for iOS and Android), Evernote (for iOS and Android), Netflix (for iOS and Android).

Appium supports platforms such as :-
Andriod
iOS
Firefox OS

Appium was designed to meet mobile automation needs according to a philosophy outlined by the following four tenets :-
1). You should not have to recompile your app or modify it in any way in order to automate it.
2). You should not be locked into a specific language or framework to write and run your tests.
3). A mobile automation framework should not reinvent the wheel when it comes to automation APIs.
4). A mobile automation framework should be open source, in spirit and practice as wll as in name.

we don't have to recompile or modify anything in our application under test(AUT) to perform automated test with appium, sience appium under the hood uses the vendor specific frameworks meaning :-
Android :- UIAutomator(developed by Android developers)
iOS :- UIAutomation(developed by Apple Inc)

Sience Appium has extended web driver client library, appium also support all the languages which webdriver suports like :-
Java
C#
Ruby
Python
Php etc.


How is Appium Built
1). Appium is basically an HTTP server written in Node.js that creates and handles webdriver sessions.
2). Node.js is a platform build on Chrome's javaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Appium Architecture :-
As appium is an HTTP server, its performs pretty much same as Selenium Webdriver server by :-
1). Receiving request/commands from clent libraries.
2). Executes the command on the target devices/emulators .
3). Responds with an HTTP response.

Hence Appium Works as a client/server architecture.

Client Librares -
Appium Client libraries has different language bindngs like :-
Ruby
Python
Java
JavaScript
PHP
C#
RobotFramework

How Appium Works?
1).As we already know that Appium suports Andriod, iOS and Firefox OS platforms, there should be a mechanism for appium to handle them.
2).Hence Appium handles these platforms using vender-provided frameworks.

The Vendor-provided frameworks for differnt platforms are :-
iOS Apple's UIAutomations
Android 4.2+ Google's UiAutomator
Andriod 2.3+Google's Instrumentation (Instrumentation support is provded by bundling a seprate projects, Selendroid)

How Appium Works in Android



How Appium Works in iOS



What is appium desired capabilities

Desired capabilities are keys and values and they are encoded in a JSON Object.
Desired capabilities sent by the appium client to the server when a new automation session is requested.
They tell the Appium drivers all kinds of important things about how you want your test to work. Each Appium client builds capabilities in a way specific to the client's language, but at the end of the day, they are sent over to Appium as JSON objects.


appPackage, appActivity, appWaitPackage, appWaitActivity, LaunchTimeout & UDID all are capabilities.

appPackage call desired JAVA package in android that user want to run.
appActivity Application Activity that user wants to launch from the package.
appWaitPackage Package from which application needs to wait for
appWaitActivity Any Android activity that user need wait time
LaunchTimeout Total time(in ms) to wait for instrumentation.
UDID To identity unique device number for connected physical device.

What is the full form of ADB
Ans :-Android Debug Bridge