# Selenium 2.0 - Course Contents
1 Introduction to Selenium
What is Test Automation?
What does Web Application Test Automation involve?
Selenium History and Evolution
Selenium – various components
Introduction to WebDriver
Fundamentals of WebDriver
Introduction to HTML page elements
Introduction to FireBug
Usage of FireBug to inspect the elements on webpage
Introduction to FirePath
Usage of FirePath to inspect the elements on webpage
Opening a URL and navigating to a web page using WebDriver
2 Accessing Web Elements
Accessing Web Elements using ID attribute
Accessing Web Elements using name attribute
Accessing Web Elements using tagName attribute
Accessing Web Elements using class name attribute
Accessing Web Elements using css selector
Accessing Web Elements using Link text
Accessing Web Elements using partial Link text
3 Actions on Web Elements
Understanding various possible actions on web elements
Setting text inside text elements
Seimulating Special Key events like TAB, SHIFT, BACK SPACE etc
Triggering Submit on a form
Simulating Click event on buttons
Retrieving Location and Size of elements
Querying for Visibility and Enabled status of elements
Querying for isSelected status of elements
Array Access and Iterations
Retrieving Text, TagName and other attribute values on elements
4 Working with Windows and Frames
Support for multiple windows and frames in frames in Selenium
Working with multiple windows and switching between them
Working with multiple frames and switching between them
5 Composite Actions
Understanding the usage of Composite Actions
Creating composite actions with sequence of actions
6 Mouse Actions
Understanding usage of x and y offsets for Mouse Actions
Working with mouseMove action
Working with click action
Working with clickAndHold action
Working with release action
Working with drag and drop action
Working with rightClick
Working with doubleClick
Working with Alerts and Prompts
7 Keyboard Actions
Understanding difference between keyUp and keyDown actions
Working with Keyboard actions
8 Advanced Features
Understanding Capabilities of a browser
Working with screenshot
Working with BACK, FORWARD and REFRESH on a web page
Working with Implicit waits and Timeouts while loading dynamic content
The complete course includes extensive coding and practice exercises.

# Additional Topics Covered - Essential for Automated Test Programming
1 JUnit
Setup JUnit on Eclipse
Create a Test Case
Create a Test Suite
Annotations used in JUnit
Special Annotations such as Ignore, Timeout, Expected Exception
2 TestNG
Setup TestNG in eclipse
Create Test Case
Create Test Suite in testng.xml
TestNG's Annotations
Create a Test Suite in testng.xml with Single & Multiple Test Classes from Single or Multiple Packages
Include/Exclude Test Cases and Packages from a Test Suite in testng.xml
Using Regular Expressions to Include/Exclude Test Classes or Packages
Priority Testing
Skip a Test Case
Group Testing
Dependency Testing
Data Driven Testing
Parallel Test Execution
Reporter Logs
3 Excel Data Driven Testing
Data Driven Testing using JExcel JARs
Apache POI JARs using TestNG Framework.
4 PDF Testing
Write a Program to Read Test in PDF File using TestNG Framework and PDFBox JARs
5 Simple Page Object Model(POM)
Testing using TestNG Framework.
The complete course includes extensive coding and practice exercises.