Course Duration in Hours
60
60
Java for Selenium
Selenium Overview
Installing Java
Installing Eclipse
Features of Java
Why Java for Selenium
First Eclipse Project
First Java program
Concept of class file
Platform independence
Datatypes in Java
String class
If statements
Conditional and concatination operators
While Loop
For Loops
Practical Examples with loops
Usage of loops in Selenium
Single Dimensional Arrays
Two Dimnsional arrays
Practical usage of arrays in Selenium
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
Overloadings and Overriding Funtions
Example on inheritance
Object Class
Usage of Inheritance in Selenium
Relevence of Packages
Creating Packages
Accessing Classes Across Packages
Good Features of eclipse
Accessing modifiers - Public, Private, Default, Protected
Exception hading 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
Introduction to Collections API
ArrayList Class
HashTable Class
String class and functions
Reading/Writing Text Files
Reading Properties File in Java
Concept of jar file
Reading/Writing Microsoft XLS Files
Selenium IDE
Intalling 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
Wait Commands
Verification and Assertions
Should I use verify or assertion
JavaScript
User-extension.js in Selenium IDE
Using if statements and loops in IDE.
Echo, StoreEval and StoredVars
Creating your own user extensions.
Selenium WebDriver
Why WebDriver?
Downloading WebDriver Jars and configuring in eclipse
Architecture of selenium webdriver
Drivers for Firefox, IE, chrome, Iphone, Android etc
First Selenium Code
Working with chrome and IE
Selenium RC and WebDriver
Concept of firefox profile
What is Firefox profile
Why we need firefox Profile
Close and Quit -Difference
Importing webdriver documentation in eclipse
WebDriver DesiredCapabilities Class
Proxy settings with webdriver/Working with proxy Servers
HTMLUnit driver and desired capabilities
Firepath and firebug Add-ons installation in Mozilla
Inspecting elements in Mozilla, Chrome and IE
HTML language tags and attributes
Various locator strategies
WebDriver Interface
WebElement Interface
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
Working with different browsers without changing code
Managing Input fields, Buttons and creating custom xpaths
Managing/Identifying Links with xpaths/css selectors
Extracting More than one object from a page
Extracting all links of a page/Bulk extraction of objects
Extracting Objects from a specific area of a web page
Various strategies to test Links on a page by clicking on them one by one
Finding response Headers/ response code
Finding whether object is present on page or not
Handling drop down list
Select Class in Selenium API
Managing radio buttons and Checkboxes
Hidden components
isDisplayed function
Taking Screenshots of the web page
Implicit and Explicit waits
PageLoadTimeout Property
WebDriverWait Class
WebDriver.Timeout Interface
ExpectedCondition interface and ExpectedConditions class
WaitUntil Condition
Fluent Wait
Managing Ajax based components
Concepts of Set Interface in Java
Window Handles
Managing tabbed windows in IE, Chrome and Mozilla
Managing popups in IE, Chrome and Mozilla
Closing windows
Default Popups
Extracting Data From WebTable
Dynamic WebTable Handling
Attaching files with Selenium
Changing your facebook profile picture by attaching new picture
Mouse movement with Selenium- Mouse Interface
Handling Ajax Autosuggests
Handling Google Ajax Autosuggests
Handling Frames in Web Page
Handling cookies
More Examples on Webtables
Webtables and css Selectors
Building custom functions for Webtables
Managing Javascript alerts
Simulaing front and back buton click on Browser using selenium
Assigning Firefox profile parameters
Downloading files using selenium
Selenium Javadocs
Listeners- Using WebDriverEventListener
Practical usage of Listeners in Selenium
Moving a mouse on a Object and right clicking on it
Finding Coordinates of a Web Object
Actions class in WebdriverHandling
CSS menu with Action classHandling
CSS menu with JavaScriptExecutorJavaScriptExecutor
exampleDrag,
drop, native events
JUnit Framework
What is JUNIT
Configuring Junit 4 in Project/Eclipse
Junit 4 annotation
Running Test in Junit
Skipping Tests
Parameterizing Tests
Using Assertions
Reporting Errors / ErrorCollector
Batch Running - Custom Runners
What is Ant
Downloading and configuring Ant
Build.xml configuration
HTML Report generation using Ant
Building a BAT file to run tests using ANT
TestNG Framework
What is TestNg
Installing TestNg in Eclipse
TestNg annotations
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
Advantages over Junit
Using TestNg in Selenium
What is Ant
Downloading and configuring Ant
Build.xml configuration
XSLT report generation generation using TestNg and Ant
Building a BAT file to run tests using ANT
Overview of Data driven framework
Building the Test Base Class
Using Annotations of Junit
Reading XPATHS, Configuration from properties file
Initialize the Webdriver
Building the Test Base Class
Implementing WebDriver Implicit Wait
Implementing tests and batch running them
Repeating a test with different Data
Building utility functions
Parameterizing tests using XL Files
Controlling Execution order from XL Files
Assertions and Reporting Errors / ErrorCollector
Storing Screenshots of errors
Running the framework through ANT
Generating the HTML reports
Emailing test reports
Creating a BAT file for project execution
SVN
What is SVN?
SVN centralized repository
How will SVN be useful to team?
Installing SVN client UI - TortoiseSVN
Revisions in repository
Checkin and Checkout with UI
Installing SVN eclispe plugin - Subeclipse
Checkin and Checkout code with eclipse
Maven
What is Maven and Why Maven?
Installing/Configuring Maven
Archetypes in Maven
Creating maven project through command line
POM.xml
Importing Archetypes
Maven Repositories
Building POM.xml through command line to configure Selenium and Junit
Importing the maven project into eclipse
Building a selenium project and running it through Maven
Maven Antrun Plugin configuraion in POM.xml
Running Ant Tasks with Maven Antrun Plugin
Checkin and Checkout your maven project from SVN
Eclipse plugin for maven
Using the maven plugin to execute phases - compile, clean, package etc
Running the ant tasks through the Eclipse maven plugin
DataBase Testing Using Selenium
Installing MySQL Database and making some tables in it
java.sql package
JDBC Drivers
Connection Interface
Statement and PreparedStatement Interfaces
ResultSet Interface
Firing select, insert, update and delete queries with database using Java JDBC
Looping the ResultSet
Using Annotations of Junit/TestNg to establish connection with database when Using Selenium
Grid
Introduction to Grid 2
Creating Nodes and Hubs
Deciding number of browsers on a Node
Deciding type of browsers on Node
Limiting number of concurrent browsers on node
Difference between maxSession and maxInstance
Configuring chromedriver and IEdriver exe files on grid
Testng configurations
RemoteWebDriver and DesiredCapabilities
Configuring JSON file format to initialize/configure hub and nodes
Running single test on single node - serially in multiple browsers
Running single test on single node parallely on multiple browsers
Running single test on multiple nodes each node having different browser
Can we decide node to run test?
Running multiple tests spread across 3 nodes one for ie, one for firefox and one for chrome
Node Timeout
Prioritizing the test cases
Prioritizer Interface and CustomPrioritizer
Sharing same webdriver instance among multiple tests after prioritizing them
Grid Coding in eclipse
Creating a Grid sample test case
End to end scenario building and execution on Grid -demonstration on one node
End to end scenario building and execution on Grid -demonstration on multiple nodes on virtual
machine
End to end scenario building and execution on Grid -demonstration on multiple nodes on virtual
machine and on multiple browsers
POM(Page Object Model)
What is POM
When to use POM
Inheritance and Encapsulation in POM
Designing POM classes
Putting up test configurations in a properties file
Building Page class
Building generaic utility functions
Batch running the test cases
Using junit/testng to execute test cases
Parameterizing tests using XL Files
Taking screenshots
Genrating reports and reporting
errors Using Ant to run project
Mailing the test Reports
Creating a Bat file for project executing
Generating XSLT chart reports in case of
testng
B.Tech/B.E
M.tech/M.E
MCA
Degree
QMinds Technologies, Marathahalli (Bangalore),Bangalore,IN