Selenium Course Content

Introduction of Automation

Selenium Components

• Why Automation

• When to start Automation

• Where to use Automation

• Scope of Automation in future

• What is an Automated tool

• How to learn any Automated tool

• Types of Automated tools

• Selenium IDE

• Selenium RC

• Selenium Web Driver

• Selenium GRID

INTRODUCTION TO JAVA

Starting with Eclipse

• Installing Java

• What is Eclipse

• How to install Eclipse

• What is the need of Eclipse

• Why we use Eclipse and Selenium together

• How to create a project

• How to create a package

• How to create a class (java file)

• How to create a file 

(properties file)

Classes and Interfaces

(call by reference, call by value)

Using objects reference

Through class name

Through class name

• How to create an object 

• Data types

• How to access the nonstatic functions 

• How to use Static Global variables 

• How to use Static Global functions 

• How to create constructor

• What is the use of constructor

• Inheritance

• How to access classes across packages

• Accessing modifiers 

(Public, Private, Default, Protected)

• String Class, Object class

• What is an interface

• How to create and use interface

WEB DRIVER Introduction

• What is Web driver

• Why Web driver

• Differences between RC and Web driver

• How to configure web driver in eclipse

Classes that implements web driver

• Fire fox

• Internet Explorer

• Chrome

• I Phone

• Android

Operational Overview of Selenium

• How to give instructions to Selenium web driver

• How to give information to Selenium web driver

• Internally what is happening during execution

Object Identification

• Installing Firebug add on in Firefox

• Installing Firepath add on in Firefox

• What is Firebug

• How to use Firebug

• When to use Firebug

• What is the use of Firepath in Firebug

• What is XPath

• Where to use XPaths in the Script

• Why to use XPaths

• Identifying the web elements using ID

• Identifying the web elements using Name

• Identifying the web elements using Link name

• Identifying the web elements using Class

• Identifying the web elements using XPath

• Identifying the web elements using Tagname

• Handling the different web elements like

• Input boxes

• Buttons

• Weblist

• Radio Buttons

• Check boxes

• Links and etc,

• Making own XPaths with out using Firebug

• Creating the Object Repository

• Benefit of Creating object repository

• How to use object repository

JAVA IN DETAIL

• Variables (local, global)

• Constants

• Arrays

• Conditional statements

• Looping statements

• Operators

• Functions 

(Input parameters and return types)

• Overloading and Overriding

Additional Concepts of Java used in Selenium

• String class

• Object class

• Array list class

• Hash table class

• Collection API

• Reflection API (Keyword driven frameworks)

• POI API (Hybrid FW [keyword+data driven])

• Creating Properties file

• Reading properties file

• Reading / writing text file

• Reading / writing XLS file

• Exception handling 

(Try, Catch, Throwable Class, 

Throw, Throws, Final and Finally)

• Different types of exceptions

• Need of exception handling in Selenium

• Jar file
SELENIUM LIFE CYCLE

Phase-I

• Test Planning

Phase-2

• Generating the basic test

Phase-3

Enhancing the test

• Introduction

• Checking with Assertions

• Synchronizing the test

• Implementing Implicit wait statement

• Parmeterizing the test

• Reading the data from XLS File

• Using the test data during data driven testing

Inserting the Programmatic Statements

• Normal statements

• Conditional Statements

• Comments

• Function Call statements

Phase-4

Debugging the Test

• What is debugging

• When to do debugging

• Benefits of debugging

• Running the script according to our desire

• Pausing the Script execution

Phase-5

• Executing the Test

Phase-6

• Analysing the Results

ADVANCED CONCEPTS OF SELENIUM:

• Dynamic objects handling

• PoP up handling

• Error handling

• Java Script alert messages handling

• Simulating the keyboard key press events

• Dynamic Web table Handling

• Extracting data from web table

• Mouse movement with Selenium mouse interface

• Setting page load timeout

• Simulating front and back button click in browser

• Listeners using web driver eventlistener

• Practical Usage of Listeners in Selenium

• Moving mouse on an object and 

• Finding co-ordinates of web object 

• Reporting errors

SELENIUM IDE :

• Installing Selenium IDE

right clicking on it

• Recording Script

• Running Script

• Operational overview of Recording

• Operational Overview of Running

• Running Script line by line

• Inserting break points

• Inserting comments

• Inserting wait statements

• Installing Firebug

• Installing Firepath

• Using XPaths for identifying objects

• Saving the Script

• Running the single line of Script

• Analysing the Results in log

• Using the Reference for 

• Understanding about target and value

• Identifying the objects using ID, Name, Link and etc,

• Table View

• Source view

• Why companies are not encouraging the Selenium IDE

FRAME WORKS

Test NG Frame work:

• What is Test NG

• Installing Test NG

• Test NG Annotations

• Usage of Annotations

• Skipping Tests

• Running Tests in Test NG

• Assertions and Reporting errors

• Test NG reports

JUnit Frame work:

• What is JUnit

• Configuring JUnit in Eclipse

• JUnit 4 Annotation

• Running Test in JUnit

• Skipping Tests

• Using Assertions and Reporting errors

Test NG and Hybrid frame work

(Keyword + Data driven):
Overview of hybrid frame work

• Preparing XLS file with 
Test cases and key words

• Preparing XLS file with test data

• Reading XPaths from Properties file

• Implementing the keywords using the Reflection API

• Implementing the Tests

• Assertions and reporting errors

• Parametrizing Tests

• Repeating the test with 

different sets of data

• Running the tests

• Analysing the results