Java Introduction
Selenium Overview
Installing Java
Installing Eclipse
Features of Java
Why Java for Selenium
First Eclipse Project

LOOPS, ARRAYS, AND FUNCTIONS
Conditional and concatenation operators
While Loop
For Loops
Practical Examples with loops
Usage of loops in Selenium
Single Dimensional Arrays

OBJECT-ORIENTED PROGRAMMING- 1
Local Variables
Global Variables
Static and Non-Static Variables
Static and Non-Static Functions
Creating Objects in Java
Meaning of static

OBJECT-ORIENTED PROGRAMMING -2
Inheritance and its usages and implementation
Interfaces in Java
Overloadings and Overriding Functions
Example of Inheritance
Object Class
Usage of Inheritance in Selenium

PACKAGES, ACCESS MODIFIERS/ EXCEPTION HANDLING
Relevance of Packages
Creating Packages
Accessing Classes Across Packages
Eclipse and its usable Features
Accessing modifiers – Public, Private, Default, Protected
Exception hading with try catch block

COLLECTION API
Introduction to Collections API
ArrayList Class
HashTable Class
Using ArrayList and HashTable of Collection API in Selenium framework

STRING,FILE HANDLING, LOG4J, /HANDLING XLS,XML FILES
String class and functions
Reading/Writing Text Files
Reading Properties File in Java
The concept of a jar file
POI API in java
Reading/Writing Microsoft XLS Files

SELENIUM IDE
Installing Selenium IDE
Recording Script
Running, Pausing and debugging Script
Running a script line by line
Inserting commands in between script
XPATHS and installing firebug to get XPATHS

APACHE MAVEN
What is Maven and Why Maven?
Installing/Configuring Maven
Archetypes in Maven
Creating a maven project through command line
POM.xml
Importing Archetypes

TESTNG FRAMEWORK / ANT/MAVEN TESTNG INTEGRATIONS
What is TestNg
Installing TestNg in Eclipse
TestNg annotations
Understanding the usage of annotations
Running a Test in TestNg
Batch Running of tests in TestNg

SELENIUM WEBDRIVER-3
Why WebDriver 3?
Selenium RC, WebDriver 2 and WebDriver 3
Downloading WebDriver-3 Jars and configuring in eclipse
The architecture of selenium web driver 3
Firefox version with WebDriver 3
Dos and Don’s while upgrading Selenium version in project

SELENIUM WEBDRIVER – 3
Writing a single script to work on different browsers
The architecture of Selenium WebDriver
WebDriver Interface
Identifying Elements
WebElement Interface
HTML language tags and attributes

SELENIUM WEBDRIVER – 3
Implicit Wait
NoSuchElementException, InvalidSelectorException
GetAttribute function
Usage of getAttribute
Using option classes and loading them dynamically with the browser launch

Implicit and Explicit waits
Waiting strategies
PageLoadTimeout and ScriptTimeout Property
WebDriverWait Class
WebDriver. Timeout Interface
ExpectedCondition interface and ExpectedConditions class

SELENIUM-3 FEATURES – 3
Managing JavaScript alerts
Handling Frames in Web Page
Handling Frames inside Frames
Mouse movement with Selenium – Actions class
Functions/Features of Action Classes
Drag, drop, native events

SELENIUM-3 FEATURES – 5
Handling Ajax Auto-suggests
Handling cookies
Adding, Deleting, Updating cookie values with selenium web driver
Finding Coordinates of a Web Object
JavaScript Executor
Uploading files with Selenium / Usage of Auto IT

SELENIUM-3 – EXAMPLES/SCENARIOS
Password Encryption and Decryption in Selenium
Google Pagination example
Unpredictable Popup
Printing Names of all Facebook Friends
Scroll example
Selecting the date from Calendar

GRID 2 WITH WEBDRIVER,TESTNG
Introduction to Grid 2
Creating Nodes and Hubs
Deciding number of browsers on a Node
Deciding type of browsers on Node
Limiting the number of concurrent browsers on node
Difference between maxSession and maxInstance

TESTNG AND DATA DRIVEN FRAMEWORK
What is Data Driven Framework?
A brief discussion about goals to be achieved after building the data-driven framework
Generating maven Project and packages
Generating a core framework structure which can be used with any project with minimum changes
Generating test cases
Introducing dependency between tests

Keyword Driven Framework

PAGE OBJECT MODEL WITH PAGE FACTORY
The concept of the Page object model
The brief discussion about goals to be achieved in Page Object Model design
The concept of inheritance and encapsulation in java
The concept of Page Object Model
Where can Page Object module be used
Issues faced in developing page object model

BASICS OF CUCUMBER
What is BDD
Cucumber implements BDD
Downloading Cucumber Jars
Preparing Features File having test scenarios
Writing a step definition
Writing Runner Class

BUILDING FRAMEWORK WITH CUCUMBER
Download the Maven Dependencies for Cucumber, Selenium,
Create the Maven Project
Running a simple feature/Step scenario
Introducing selenium layer – web connector
Building custom functions in web connector
Building a simple test case

JAVA DATABASE CONNECTIVITY – JDBC
Installing the MySQL Database and making some tables in it
java.sql package
JDBC Drivers
Connection Interface
Statement Interface
ResultSet Interface

Course Duration: 6 Weekends

Course Fee: 10k