Selenium Syllabus
Chapter 1 | Introduction to Selenium
·
Selenium Introduction
·
Brief History
·
Selenium Tool Suite
·
Why Selenium
·
Note on Browser & Environment Support
·
Advantage of WebDriver
·
Limitations of WebDriver
·
How to choose the right Selenium Tool for your
need
·
A short comparison of Selenium with QTP
·
Selenium WebDriver Overview
·
Define a Test Strategy for Automation
·
Pick a Programming Language
·
Choose an Editor
Chapter 2 | Configure Selenium
WebDriver
·
Install Java
·
Install Eclipse
·
Install Firefox, Firebug, FirePath
·
Download Selenium-Server.jar File
·
Configuring Selenium in Eclipse
Chapter 3 | Core java Introduction & OOPs concepts
·
Features of Java
·
Why Java for Selenium
·
First Eclipse Project
·
First Java program
·
Comment
·
Concept of class file
·
Platform independence
·
Data types in Java
·
String class
·
If statements
·
Loops, Arrays and Functions
·
Conditional and concatenation operators
·
While Loop
·
For Loops
·
Single Dimensional Arrays
·
Two Dimensional arrays
·
Drawbacks of arrays
·
What are Functions?
·
Function Input Parameters
·
Function Return Types
·
Local Variables
·
Global Variables
·
Static and Non-Static Variables
·
Static and Non-Static Functions
·
Creating Objects in Java
·
Meaning of static
·
Why is main method static?
·
Object and Object References
·
Call by reference and Value
·
Constructors
·
Usage of Objects in Selenium
·
Concept of Inheritance
·
Interface
·
Overloading and Overriding Functions
·
Example on inheritance
·
Object Class
·
Usage of Inheritance in Selenium
·
Packages, Access Modifiers/ Exception Handling
·
Relevance of Packages
·
Creating Packages
·
Accessing Classes across Packages
·
Good Features of eclipse
·
Accessing modifiers - Public, Private,
Default, Protected
·
Exception handing with try catch block
·
Importance of exception handling
·
Exception and Error
·
Throwable Class
·
Final and Finally
·
Throw and Throws
·
Different Types of Exceptions
·
Need of exception handling in Selenium
framework
·
Collection API/Reflection API
·
Introduction to Collections API
·
ArrayLilst Class
·
HashTable Class
·
Using ArrayList and HashTable of Collection
API in Selenium framework
·
Reflection API usage and importance
·
String class and functions
·
Reading Properties File in Java
Chapter 4 | Selenium IDE
·
Installing Selenium IDE & Running
·
Features of Selenium IDE
·
Create Test Case & Test Suite
·
Export code
·
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
·
Wait Commands
·
Verification and Assertions
·
Should I use verify or assertion
·
Echo, StoreEval and StoredVars Demystified
·
Regular Expressions in Selenium IDE
Chapter 5 | Selenium WebDriver
·
Overview of Selenium WebDriver
·
Why WebDriver
·
Architecture of selenium WebDriver
·
Why not RC
·
Write First Selenium Script
·
WebDriver Interface
·
WebElement Interface
·
How to Google out errors-Self sufficiency
Chapter 6 | Object Locator
·
Inspecting elements in Mozilla, Chrome and IE
·
HTML language tags and attributes
·
Various locator strategies
·
Xpath
·
Identifying WebElements using id, name, class
·
Finding Xpaths to identify
·
Absolute and complete Xpaths
·
Creating customized Xpaths without firebug
·
Css Selectors
·
Generating own CssSelectors
·
Performance of CssSelectors as compared to
Xpaths
·
Finding xpaths/cssselectors in different
browsers - Mozilla, Chrome and IE
·
Objects with same id/xpath/cssSelector
·
What is class attribute?
·
Handling Dynamic objects/ids on the page
Chapter 7 | Common Selenium
Methods
·
Selenium useful & Common methods
Chapter 8 | Working on
Browsers
·
Working on Firefox
·
Working on Chrome
·
Working on IE
Chapter 9 | Working on Form
Elements
·
Working on Text Field
·
Working on Label
·
Working on Checkbox
·
Working on Radio button
·
Working on combo box
·
Working on Date Calender
·
Working on Links
·
Extracting objects in bulk from web page
·
Working on frames
Chapter 10 | Introduction
of Apache Maven
·
Why Apache Maven for Selenium
·
Installing Maven
·
Why POM.xml
·
Configuration, properties in POM.xml
·
Chapter 11 | TestNG
Framework
·
What is TestNg
·
Installing TestNg in Eclipse
·
Why do we need TestNG in Selenium
·
Advantage of TestNg over Junit
·
TestNg annotations
·
First test case using annotations
·
Running test case through TestNG.xml
·
Checking reports created by TestNG
·
Creating sample test cases
·
Listeners in TestNG
·
Create customized HTML report
·
Parameterization
·
Understanding usage of annotations
·
Running a Test in TestNg
·
Batch Running of tests in TestNg
·
Skipping Tests
·
parameterizing Tests - DataProvider
·
Assertions/Reporting Errors
·
TestNg Reports
·
Using TestNg in Selenium
·
Grouping test cases
·
Setting priority of execution for test cases
·
Putting Dataproviders for multiple tests in a
single file
Chapter 12 | Selenium Grid
·
What is Selenium Grid?
·
When to Use Selenium Grid?
·
Grid 1.0 Vs Grid 2.0
·
What is a Hub and Node?
·
How to Install and Use Grid 2.0?
·
Designing Test Scripts That Can Run on the
Grid
·
Using the DesiredCapabilites Object
·
Using the RemoteWebDriver Object
·
Running a Sample Test Case on the Grid
Chapter 13 | Working on
Advance WebDriver
·
Working with different browsers without
changing code
·
Taking Screenshots of the web pages
·
Implicit and Explicit waits
·
PageLoadTimeout Property
·
WebDriverWait Class
·
WebDriver.Timeout Interface
·
ExpectedCondition interface and
ExpectedConditions class
·
WaitUntil Condition
·
Fluent Wait
·
Managing Ajax based components
·
Window Handles
·
Managing tabbed windows in IE, Chrome and
Mozilla
·
Managing popups in IE, Chrome and Mozilla
·
Closing windows
·
Default Popups
·
Testing https websites / Managing certificate
errors in https websites in IE, Chrome and
·
Mouse movement with Selenium- Mouse Interface
·
Handling Ajax Autosuggests
·
Handling Google Ajax Autosuggests
·
Handling Frames in Web Page
·
Handling cookies
·
More Examples on Webtables
Chapter 14 | Introduction
to Page Object Design Pattern
·
Why POM
·
What is POM
·
Advantages of POM
·
How to implement POM
·
What is Page Factory
·
When to use POM
·
Designing POM classes
Chapter 15 | Framework
Creation using Java, TestNG, POI, Maven, Jenkins, Selenium Grid
·
Overview of Page Object Design Framework
·
Reading test data from XLS files
·
Creating properties file to store object
details
·
Implementing WebDriverWait
·
Implementing keywords
·
Parameterizing test using DataProvider &
XLS files
·
Repeating test with different data
·
Generating test reports
·
Emailing test reports