1. Java for Selenium
  2. What is Java ?
  3. Install Java JDK
  4. Configure Java
  5. A Simple Java Program
  6. TextPad Editor Installation
  7. Write and execute Java Programs using TextPad tool
  8. Object Oriented Programming
  9. First Simple Java Program
  10. Second Simple Java Program
  11. ‘int’ data type
  12. ‘double’ data type
  13. ‘long’ data type
  14. ‘float’ data type
  15. ‘char’ data type 
  16. ‘boolean’ data type
  17. Assigning  values to variables of different data type
  18. Variable Declaration and Initialization
  19. Scope of Variables
  20. Type conversion
  21. Arrays
  22. Arithmetic Operators
  23. Relational Operators
  24. Boolean Logical Operators
  25. Assignment and ‘?’ operator
  26. Operator Precedence
  27. ‘if’ selection statements
  28. ‘switch’ selection statements
  29. ‘while’ iteration statements
  30. ‘do-while’ iteration statements
  31. ‘for’ iterative statements
  32. ‘break’ jump statement
  33. ‘continue’ jump statements
  34. ‘class’ concept
  35. Install Eclipse IDE
  36. How to Launch Eclipse IDE
  37. How to create projects in Eclipse IDE?
  38. Run Java Programs in Eclipse IDE
  39. ‘class’ is a template for an ‘object’
  40. Exporting a Java Project from Eclipse IDE
  41. Importing a Java Project into Eclipse IDE
  42. Declaring ‘object’ as an instance of a ‘class’
  43. How to use dot(.) operator
  44. Methods
  45. How does a method return a value ?
  46. How does a method intake parameters ?
  47. Constructors
  48. ‘this’ keyword
  49. Method Overloading
  50. ‘Constructor’ Overloading
  51. Using ‘objects’ as parameters
  52. Argument Passing
  53. Returning Objects
  54. Recursion
  55. ‘Public’ Access specifier
  56. Default access specifier
  57. ‘private’ access specifier
  58. ‘static’ instance variables
  59. ‘static’ methods
  60. ‘static’ methods can only call ‘static’ methods
  61. ‘static’ methods can only access ‘static’ variables
  62. ‘static’ methods cannot refer to ‘this’ keyword
  63. ‘static’ block
  64. ‘final’ instance variable
  65. ‘length’ array attribute
  66. ‘Nested’ classes
  67. ‘String’ class
  68. Concatenate two string using ‘+’ operator
  69. Using ‘equals( )’ method for comparing two strings
  70. Using ‘length( )’ method for finding the length of a string
  71. Using ‘charAt( )’ method to retrieve the character from string text
  72. String Arrays
  73. Inheritance
  74. subclass cannot access private members of superclass
  75. Assigning subclass reference to superclass reference
  76. Using ‘super’ keyword to access the instance variables of superclass
  77. Using ‘super’ keyword to access the methods of ‘superclass’
  78. Calling ‘Superclass’ constructors using ‘super’ keyword
  79. ‘Multilevel’ Hierarchy
  80. Using ‘super’ in Multilevel Hierarchy
  81. Explicitly invoke Super class constructors
  82. ‘Inheritance’ and the order of executing constructors
  83. Method Overriding
  1. Dynamic Method Dispatch
  2. Abstract Classes
  3. Prevent overriding using ‘final’ keyword
  4. Prevent Inheritance using ‘final’ keyword
  5. Packages
  6. ‘Package’ and Access Protection
  7. Importing Packages
  8. Interfaces
  9. Class implementing multiple Interfaces
  10. Singe Interface implemented by multiple classes
  11. Superclass implementing an Interface and Subclass Inheriting it
  12. Subclass implementing an Interface
  13. Implementing the Interface containing variables
  14. Accessing the overriding method of sub-class using superclass object
  15. Interface References
  16. Abstract methods in Superclass must be implemented in Subclass
  17. Objects can’t be created for abstract Classes
  18. Abstract classes can partially implement the Interfaces
  19. Interface inheriting another Interface
  20. Exception Handling
  21. What happens when we don’t handle an exception ?
  22. How to handle an exception ?
  23. Using getChars( ) to extract more than one character from String Text
  24. Using ‘equalsIgnoreCase( )’
  25. Using startsWith( ) and endsWith( ) methods
  26. Using compareTo( ) method
  27. Using indexOf( ) method
  28. Using ‘lastIndexOf( )’ method
  29. Using ‘substring( )’ method
  30. Using ‘concat( )’ method
  31. Using ‘replace( )’ method
  32. Using ‘trim( )’ method
  33. Using ‘toLowerCase( )’ and ‘toUpperCase( )’ methods
  34. StringBuffer class
  35. Using ‘length( )’ method with StringBuffer
  36. Using ‘charAt( )’ method with StringBuffer
  37. Using ‘setCharAt( )’ method with StringBuffer
  38. Using ‘getChars( )’ method with StringBuffer
  39. Using append( ) method with StringBuffer
  40. Using ‘insert( )’ method with StringBuffer
  41. Using ‘reverse( )’ method with StringBuffer
  42. Using ‘delete( )’ method with StringBuffer
  43. Using ‘deleteCharAt( )’ method with StringBuffer
  44. Using ‘replace( )’ method with StringBuffer
  45. Using ‘substring( )’ method with StringBuffer
  46. Using ‘indexOf( )’ method with StringBuffer
  47. Using ‘lastIndexOf( ) method with StringBuffer
  48. Using shortcuts for System.out.println( ) in Eclipse IDE
  49. Renaming Java Projects, Packages and Classes in Eclipse IDE
  50. Finding the Projects location in Eclipse IDE
  51. Deleting the Java Project from Eclipse IDE
  52. Exporting a Project, Deleting it from Eclipse IDE and importing it
  53. Deleting the Java Project from the Eclipse IDE workspace path
  54. Debugging the Java Programs in Eclipse IDE
  55. Java Keywords in Eclipse IDE
  56. Changing Font, Font Style and Font Size in Eclipse IDE
  57. Understanding API (Application Programming Interface)
  58. Understanding Java API
  59. Java API as JRE System Library in Eclipse IDE
  60. Understanding the JRE System Library in Eclipse IDE
  61. Creating .jar file using Eclipse IDE
  62. Using ‘length’ array attribute with 2 dimensional arrays
  63. Using ‘length’ array attribute with 3 dimensional arrays
  64. ‘double’ data type arrays
  65. ‘char’ data type arrays
  66. ‘String’ data type arrays
  67. Defining and Creating Objects
  68. Assigning ‘Object Reference’ variable
  69. Data Types in Java
  70. Primitive Data Types
  71. Non-Primitive Data Types
  72. Local Variables and Instance Variables
  73. Java and Windows Command Prompt
  74. For-each loop
  75. varargs ‘Variable Legth Arguments’
  76. varargs parameter must be the last parameter in the method
  77. varargs parameter must be used only once in a method
  78. Creating more than one Class in a single Java Class file
  79. Objects cant be created for Abstract Classes
  80. Accessing members of Abstract Class using its subclass object
  81. Assigning the SubClass reference to SuperClass and accessing members
  82. Defining objects for Abstract Classes
  83. Defining objects for Abstract Classes for accessing its abstract methods
  1. Creating a sub class using Eclipse IDE options
  2. Java Literals
  3. Numeric Literals
  4. Storing Integer Literals in long data type variables
  5. Storing Floating Point Literals in float data type variables
  6. Using Character Escape Sequences in String Literals
  7. The Object Class
  8. Object Class Methods
  9. Using equals( ) method of Object Class
  10. Printing an Object
  11. Using toString( ) method of Object Class
  12. Using toString( ) method of Object Class to print the values of the object
  13. Using getClass( ) method of Object Class
  14. Upcasting
  15. Cannot Cast objects of Classes which are at same level in hierarchy
  16. Downcasting
  17. instanceof operator
  18. Creating duplicate Classes in same project
  19. Default Package
  20. Creating Hierarchy of Packages
  21. Understanding the Packages in Java API
  22. Renaming the packages in Hierarchy
  23. Interface implemented methods must be declared as public
  24. Implementing the Nested Interfaces
  25. Exception is an Object
  26. Exception Hierarchy
  27. Catching exceptions using Throwable Class
  28. Catching exceptions using Exception Class
  29. Catching arithmetic exceptions using ArithmeticException Class
  30. Handling ArrayIndexOutOfBoundsException
  31. Using multiple catch blocks
  32. Order of catch blocks
  33. Handling exceptions using Exception Class for safe side
  34. Methods of Throwable Class
  35. Printing the exception details in different ways
  36. Using getMessage( ) of Throwable Class
  37. Using toString( ) of Throwable Class
  38. Using printStackTrace( ) of Throwable Class
  39. Using throw keyword in exception handling
  40. Checked Exceptions
  41. Using throws keyword in exception handling
  42. Handling FileNotFoundException
  43. Using finally in exception handling
  44. Using finally block immediately after the try block
  45. Nested try catch blocks
  46. Catching Multiple Exceptions in a single catch block
  47. Using Programmatic Method instead of Exception Handling
  48. Wrapper Classes
  49. Integer Wrapper Class
  50. Byte Wrapper Class
  51. Short Wrapper Class
  52. Long Wrapper Class
  53. Float Wrapper Class
  54. Double Wrapper Class
  55. Character Wrapper Class
  56. Boolean Wrapper Class
  57. Boxing and UnBoxing
  58. AutoBoxing
  59. Auto-UnBoxing
  60. Implementing Auto-Boxing and Auto-UnBoxing in Methods
  61. Implementing Auto-Boxing and Auto-UnBoxing in expressions
  62. Compiler Compliance Level in Eclipse IDE
  63. Object Arrays
  64. Files
  65. Creating a file using createNewFile( ) method
  66. Creating files in your Project Workspace
  67. Creating folders using mkdir( ) method
  68. Using getPath( ) and getAbsolutePath( ) methods
  69. Using exists( ) method
  70. Methods of File Class
  71. I/O Streams
  72. Reading text file using read( ) method of FileReader I/O Class
  73. Writing text to a file using write( ) method of FileWriter I/O Class
  74. Append text in a file using append( ) method of FileWriter I/O Class
  75. Using FileInputStream I/O Class
  76. Using FileOutputSteam I/O Class
  77. Reducing the object creation statements
  78. Using PrintStream I/O Class
  79. System.out.println( )
  80. static import
  81. Java auto imports all the classes in java.lang package
 
  1. Introduction to Selenium WebDriver
  2. Downloading the Selenium WebDriver
  3. Configuring Projects in Eclipse IDE to work with Selenium WebDriver
  4. Is Selenium Server required by Selenium WebDriver ?
  5. Selenium RC versus Selenium Web Driver
  6. Create a JUnit Selenium WebDriver Test using Selenium IDE
  7. Ensure compatible Firefox Browser is installed
  8. Run the Created Selenium WebDriver Test
  9. Introduction to JUnit
  10. Using JUnit annotation in our Selenium WebDriver Tests
  11. Eclipse Automatically adds the Package Name into the newly created Java Class
  12. Writing Selenium WebDriver Test on our own
  13. Implementing JUnit Annotations
  14. WebDriver Class and its Predefined Methods
  15. ‘get( )’ – Selenium WebDriver method to open the specified URL page
  16. manage( ).window( ).maximize( ) – to maximize the Browser window
  17. manage( ).window( ).setSize( ) – to resize the Browser window
  18. Using Thread.sleep(Millie Seconds) to pause the execution
  19. quit( ) – Selenium WebDriver method for closing the Test Browser window
  20. What are Locators ?
  21. Different Types of Locators to identify UI elements
  22. Tools in Selenium to find out the locators
  23. Locate UI elements by ID
  24. Locate UI elements by Name
  25. Locate UI elements by Link
  26. Locate UI elements by XPath
  27. Locate UI elements by CSS
  28. Finding locators for UI elements using the Selenium IDEs recording feature
  29. click( ) – predefined method for clicking a Link
  30. click( ) – predefined method for clicking a Button
  31. Using sendKeys( ) predefined method for entering text
  32. Using click( ) – predefined method to select a radio button
  33. Using click( ) predefined method for selecting a check box option
  34. Using sendKeys( ) predefined method to select a list item from the drop down list
  35. Using getText( ) to retrieve any elements Text
  36. Using getPageSource( ) method
  37. Using getTitle( ) method for retrieving the Title of the page
  38. Using getAttribute(“value”) method for retrieving text from the text fields
  39. Using isDisplayed( ) to verify whether an element is available
  40. Using FirefoxDriver for running Selenium WebDriver Automation Tests on Firefox Browser
  41. Using ChromeDriver for Running our Tests on Chrome Browser
  42. Using InternetExplorerDriver for Running our Tests on Internet Explorer Browser
  43. View the source code generated by Selenium IDE in Selenium WebDriver format
  44. Renaming the Projects and its items using Eclipse IDE ‘Refactor’ option
  45. Refactoring the Selenium Automation Code
  46. Identifying few sample real time tests for implementing the Refactoring concept
  1. Non-Refactored Selenium Automation code for the tests identified in previous post
  2. Only one test should be written inside a single test method
  3. Using @BeforeClass and @AfterClass JUnit Annotations
  4. Refactoring the Selenium Automation code to make it readable
  5. Upgrading Selenium WebDriver
  6. HTML BASICS
  7. Introduction to XPath
  8. Understanding the hierarchy of HTML Source
  9. Parse the HTML Source using its hierarchy and find XPath path
  10. Different types of Nodes in HTML
  11. Locate the Element Nodes using Relative XPath
  12. XPath Functions
  13. last( ) – XPath Function
  14. position( ) – XPath function
  15. contains( ) – XPath function
  16. starts-with( ) XPath Function
  17. Other XPath Functions
  18. XPath Operators
  19. Wild Cards usage in XPath
  20. Using node( ) wild card in XPath Statements
  21. Using * wild card in XPath Statements
  22. Using | to combine XPath Statements
  23. XPath Optimization
  24. XPath Optimization Strategy One – Use the id attribute if available for the element but not used in XPath Statement
  25. XPath Optimization Strategy Two – Use the combination of attributes to make the XPath more specific
  26. XPath Optimization Strategy Three – If there is really nothing to distinguish find the first unique element from its siblings and add the index value to it
  27. XPath Optimization Strategy Four – Use Relative XPath Statements instead of Absolute XPath Statements
  28. Practice XPath
  29. Easy and Regular way of finding XPath Statements for Elements
  30. Typing the Text into Text box by Locating the Text Box field with XPath Statement
  31. Using isSelected( ) predefined method to get the status of the radio buttons and check box options
  32. Selecting values from the Drop down list by locating the Drop down field using XPath Statement
  33. Clicking the Link by locating it using XPath Statement
  34. Clicking the Button by locating it using XPath statement
  35. Introduction to CSS selectors
  36. html CSS Selector for locating the whole web page
  37. body CSS Selector for locating the body of the web page
  38. Absolute CSS Selector path
  39. Relative CSS Selector path
  40. Using # to select an element with a specified id
  41. Using [attribute=’value’] to select an element containing the specified attribute
  42. Using dot in CSS path to select an element with a specified class
  43. Using [attribute] to select all the element containing the specified attribute
  44. Locating first child, last child and nth child with CSS path
  45. Locating different elements using a single CSS path
  46. Using * wild card in CSS selector
  47. Using ^= , $= and *= in CSS selector
  48. Using Boolean Operators in CSS selector
  49. CSS selector Optimization
  50. CSS selector Optimization Strategy One – Use the id attribute if available for the element but not used
  51. CSS selector Optimization Strategy Two – Use the combination of attributes to make the CSS selector statement more specific
  52. CSS selector Optimization Strategy Three – Use Relative CSS Statements instead of Absolute CSS Statements
  53. Practice CSS Path
  54. Easy and Regular way of finding CSS Path for Elements
  55. Typing the Text into Text box by Locating the Text Box field using CSS Path Statement
  56. Using isSelected( ) predefined method to get the status of the radio buttons and check box options
  57. Selecting values from the Drop down list by locating the Drop down field using CSS Path Statement
  58. Clicking a link by locating it using CSS Path statement
  59. Clicking the Button by locating it using CSS Path statement
  60. Using sendKeys( ) command for entering text into a text box field
  61. Using sendKeys( ) command for entering text into a Password field
  62. Using sendKeys( ) command for entering single line text into a Text Area field
  1. Using sendKeys( ) command for entering multiple lines of text into a Text Area field
  2. Using clear( ) command to clear a text box field
  3. Using clear( ) command to clear a Text Area field
  4. Difference between close( ) and quit( ) Selenium WebDriver commands
  5. Launching more than one Browser windows
  6. Understanding how close( ) and quit( ) commands work when more than one window is opened
  7. Understanding how close( ) and quit( ) commands work when only one window is opened
  8. Try this if close( ) WebDriver command is not closing the Browser window
  9. Using click( ) WebDriver command for selecting a check box option
  10. Using click( ) command for deselecting a check box option
  11. Using isSelected( ) method to get the status of the check box option
  12. Using click( ) command to select a radio button
  13. Using isSelected( ) method to get the status of the radio button
  14. Using isEnabled( ) to find out whether the button is enabled
  15. Using isEnabled( ) to find out whether the text box field is in enabled state or disabled state
  16. Using sendKeys( ) command to select a list item from the drop down field
  17. Using deselectAll( ) command to deselect any already selected list options in the multiple-selection Box
  18. Using selectByVisibleText( ) command to select more than one list options from the Multi Select Box field
  19. Using deselectByVisibleText( ) command to deselect any list option from the Multi Select Box field
  20. Using selectByIndex( ) command to select any list option using its Index value from the Multi Select Box field
  21. Using deselectByIndex( ) command to deselect any list option using its Index value from the Multi Select Box field
  22. Using selectByValue( ) command to select the list option from the Multi Select Box field using the specified value
  23. Using deselectByValue( ) command to deselect the list option from the Multi Select Box field using its value
  24. Using selectByVisibleText( ) command with Drop Down Field
  25. Using selectByIndex( ) command with Drop Down field
  26. Using selectByValue( ) command with Drop Down field
  27. Using navigate( ).to( ) command to open the specified URL
  28. Using navigate( ).back( ) command to move backward in our browser
  29. Using navigate( ).forward( ) command to move forward in our browser
  30. Using sendKeys( ) command to browser a file
  31. Using click( ) for clicking a button
  32. Using click( ) for clicking a link
  33. Using getAttribute(“value”) with a text box field
  34. Using getAttribute(“value”) method with Password field
  35. Using getAttribute(“value”) method with Text Area field
  36. Using getAttribute(“value”) method with drop down field
  37. Using getFirstSelectedOption( ) with drop down field to retrieve the label text of the list option that is currently selected
  38. Using getFirstSelectedOption( ) with Multi-Selection Box field to retrieve the label text of the option that is selected first in the field
  39. Using isMultiple( ) with a drop down fiel
  40. Using isMultiple( ) with Multi-Selection Box field
  41. Using getAllSelectedOptions( ) to get all the selected options in Multi-Selection Box field
  42. Using getOptions( ) to get all the options available in Drop Down field
  43. Using getOptions( ) to get all the options available in Multi-Selection Box field
  44. Entering an integer variables value into a text box field using sendKeys( ) command
  45. Using size( ) to retrieve the count of list options available in the drop down field
  46. Using size( ) to retrieve the count of list options available in the Multi-Selection Box field
  47. Locating elements using By.tagName( )
  48. Using findElements( )
  49. Using getTitle( ) to retrieve the title of the page
  50. Using getText( ) to retrieve the elements text
  51. Get XPath Count in Selenium WebDriver