Learn Selenium the right way

So most of my fellow testers and newbies to testing agree that learning selenium isn't all that easy especially if you have been using either QTP or any other tool that uses simple scripting (Compared to any scary code that has a lot of complex jargons)
To make things easier and less complicated for all of whose mails and messages I get on linked-in / facebook and the blog. I have chalked out a simple and strategic set of things to learn and If you go about this(I would say 15 day schedule) then you are ready for any god damn Selenium Code!

Of course we will choose Java as the language of choice:

Java Introduction and Concepts
  • First Java program
  • Concept of class file
  • Platform independence
  • Datatypes in Java
  • String class
  • If statements
  • While Loop
  • For Loops
  • Single/Two Dimensional Arrays
  • Function Input Parameters
  • Function Return Types
OOPS Concept's 
  • Local/ Global Variables
  • Static and Non-Static Variables
  • Static and Non-Static Functions
  • Objects in Java
  • Call by reference and Value
  • Constructors
  • Inheritance
  • Interface
  • Overloadings and Overriding Funtions
More Java
  • Packages
  • Access modifiers - Public, Private, Default, Protected
  • Exception hading with try catch block
  • Throwable Class
  • Final and Finally
  • Throw and Throws
  • Collections API
  • ArrayList Class
  • HashTable Class
  • Reflection API 
That's Enough Java already
  • String class and functions
  • Reading/Writing Text Files
  • Reading Properties File in Java
  • Concept of jar file
  • POI API in java
  • Reading/Writing Microsoft XLS Files
  • Log4j API for Logging
Junit or TestNG?
  • 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
  • OR
  • TestNg annotations
  • Running a Test in TestNg
  • Batch Running of tests in TestNg
  • Skipping Tests
  • parameterizing Tests - DataProvider
  • Assertions/Reporting Errors
  • TestNg Reports
  • XSLT report generation generation using TestNg and Ant
  • Building a BAT file to run tests using ANT
  • What is Ant
  • Downloading and configuring Ant
  • Build.xml configuration
  • HTML Report generation using Ant
Selenium WebDriver Demystified
  •  XPATHS and installing firebug to get XPATHS
  •  Wait Commands
  •  Verification and Assertions
  •  JavaScript
  •  Echo, StoreEval and StoredVars Demystified
  •  Reading XML from JavaScript using DOM.
  •  Handling JavaScript Alerts
  •  Configuring in eclipse
  •  Drivers for Firefox, IE, chrome, Iphone, Android etc
  •  Selenium RC and WebDriver
  •  Firefox profile
  •  Close and Quit -Difference
  •  Importing webdriver documentation in eclipse
  •  WebDriver Class
  •  Proxy settings with webdriver
  •  HTMLUnit driver
  •  Firepath and firebug Add-ons 
  •  Inspecting elements in Mozilla, Chrome and IE
  •  WebDriver Interface
  •  WebElement Interface
  •  Identifying WebElements using id, name, class 
  •  Xpaths 
  •  CssSelectors as compared to Xpaths
  •  Class attribute
Used to Selenium?
  •  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
  •  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 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
  •  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
  •  Testing https websites / Managing certificate errors in https websites in IE, Chrome and Mozilla
  •  Dynamic WebTable Handling
  •  Attaching files with Selenium
  •  Mouse movement with Selenium- Mouse Interface
  •  Handling Ajax Autosuggests
  •  Handling Frames in Web Page
  •  Handling cookies
  •  Simulaing front and back buton click on Browser using selenium
  •  Assigning Firefox profile parameters
  •  Listeners- Using WebDriverEventListener
  •  Finding Coordinates of a Web Object
  •  Actions class in Webdriver
  •  Drag, drop, native events


  1. Anonymous16/4/13

    Like it.Aditya


  2. Glad you liked it Satyabrata..


Post a Comment

Popular posts from this blog

XPATH for IE / internet explorer

RPA - Blue Prism, OpenSpan, Automation Anywhere vs UIPath