Google+

Selenium Automation Testing Tutorial Contents


  Introduction to Selenium                                                                                    
                                                

  1. What is Selenium?
  2. What should I know prior to learning Selenium?
  3. Install Chropath Add-on on Chrome Browser
  4. How to use Chropath add-on in Chrome Browser?
  5. Install Firepath Add-on for Firefox
  6. How to use Firepath?
  7. Install Java JDK and Configure
  8. Install Eclipse IDE
  9. How to Launch Eclipse IDE?
  10. How to create projects in Eclipse IDE?
  11. Whats Next?


  Selenium IDE                                                                                                                                       
                                                

    Selenium IDE - The complete Reference

    Still not satisfied with Selenium IDE, go through the other posts of Selenium IDE from the below page:


   Java + Eclipse for Selenium                                                                                                       
                                                

       28. Java for Selenium
       29. What is Java ?
       30. Install Java JDK
       31. Configure Java
       32. A Simple Java Program
       33. TextPad Editor Installation
       34. Write and execute Java Programs using TextPad tool
       35. Object Oriented Programming
       36. First Simple Java Program
       37. Second Simple Java Program
       38. 'int' data type
       39. 'double' data type
       40. 'long' data type
       41. 'float' data type
       42. 'char' data type
       43. 'boolean' data type
       44. Assigning  values to variables of different data type
       45. Variable Declaration and Initialization
       46. Scope of Variables
       47. Type conversion
       48. Arrays
       49. Arithmetic Operators
       50. Relational Operators
       51. Boolean Logical Operators
       52. Assignment and '?' operator
       53. Operator Precedence
       54. 'if' selection statements
       55. 'switch' selection statements
       56. 'while' iteration statements
       57. 'do-while' iteration statements
       58. 'for' iterative statements
       59. 'break' jump statement
       60. 'continue' jump statements
       61. 'class' concept
       62. Install Eclipse IDE
       63. How to Launch Eclipse IDE
       64. How to create projects in Eclipse IDE?
       65. Run Java Programs in Eclipse IDE
       66. 'class' is a template for an 'object'
       67. Exporting a Java Project from Eclipse IDE
       68. Importing a Java Project into Eclipse IDE
       69. Declaring 'object' as an instance of a 'class'
       70. How to use dot(.) operator
       71. Methods
       72. How does a method return a value ?
       73. How does a method intake parameters ?
       74. Constructors
       75. 'this' keyword
       76. Method Overloading
       77. 'Constructor' Overloading
       78. Using 'objects' as parameters
       79. Argument Passing
       80. Returning Objects
       81. Recursion
       82. 'Public' Access specifier
       83. Default access specifier
       84. 'private' access specifier
       85. 'static' instance variables
       86. 'static' methods
       87. 'static' methods can only call 'static' methods
       88. 'static' methods can only access 'static' variables
       89. 'static' methods cannot refer to 'this' keyword
       90. 'static' block
       91. 'final' instance variable
       92. 'length' array attribute
       93. 'Nested' classes
       94. 'String' class
       95. Concatenate two string using '+' operator
       96. Using 'equals( )' method for comparing two strings
       97. Using 'length( )' method for finding the length of a string
       98. Using 'charAt( )' method to retrieve the character from string text
       99. String Arrays
     100. Inheritance
     101. subclass cannot access private members of superclass
     102. Assigning subclass reference to superclass reference
     103. Using 'super' keyword to access the instance variables of superclass
     104. Using 'super' keyword to access the methods of 'superclass'
     105. Calling 'Superclass' constructors using 'super' keyword
     106. 'Multilevel' Hierarchy
     107. Using 'super' in Multilevel Hierarchy
     108. Explicitly invoke Super class constructors
     109. 'Inheritance' and the order of executing constructors
     110. Method Overriding
     111. Dynamic Method Dispatch
     112. Abstract Classes
     113. Prevent overriding using 'final' keyword
     114. Prevent Inheritance using 'final' keyword
     115. Packages
     116. 'Package' and Access Protection
     117. Importing Packages
     118. Interfaces
     119. Class implementing multiple Interfaces
     120. Singe Interface implemented by multiple classes
     121. Superclass implementing an Interface and Subclass Inheriting it
     122. Subclass implementing an Interface
     123. Implementing the Interface containing variables
     124. Accessing the overriding method of sub-class using superclass object
     125. Interface References
     126. Abstract methods in Superclass must be implemented in Subclass
     127. Objects can't be created for abstract Classes
     128. Abstract classes can partially implement the Interfaces
     129. Interface inheriting another Interface
     130. Exception Handling
     131. What happens when we don't handle an exception ?
     132. How to handle an exception ?
     133. Using getChars( ) to extract more than one character from String Text
     134. Using 'equalsIgnoreCase( )'
     135. Using startsWith( ) and endsWith( ) methods
     136. Using compareTo( ) method
     137. Using indexOf( ) method
     138. Using 'lastIndexOf( )' method
     139. Using 'substring( )' method
     140. Using 'concat( )' method
     141. Using 'replace( )' method
     142. Using 'trim( )' method
     143. Using 'toLowerCase( )' and 'toUpperCase( )' methods
     144. StringBuffer class
     145. Using 'length( )' method with StringBuffer
     146. Using 'charAt( )' method with StringBuffer
     147. Using 'setCharAt( )' method with StringBuffer
     148. Using 'getChars( )' method with StringBuffer
     149. Using append( ) method with StringBuffer
     150. Using 'insert( )' method with StringBuffer
     151. Using 'reverse( )' method with StringBuffer
     152. Using 'delete( )' method with StringBuffer
     153. Using 'deleteCharAt( )' method with StringBuffer
     154. Using 'replace( )' method with StringBuffer
     155. Using 'substring( )' method with StringBuffer
     156. Using 'indexOf( )' method with StringBuffer
     157. Using 'lastIndexOf( ) method with StringBuffer
     158. Using shortcuts for System.out.println( ) in Eclipse IDE
     159. Renaming Java Projects, Packages and Classes in Eclipse IDE
     160. Finding the Projects location in Eclipse IDE
     161. Deleting the Java Project from Eclipse IDE
     162. Exporting a Project, Deleting it from Eclipse IDE and importing it
     163. Deleting the Java Project from the Eclipse IDE workspace path
     164. Debugging the Java Programs in Eclipse IDE
     165. Java Keywords in Eclipse IDE 
     166. Changing Font, Font Style and Font Size in Eclipse IDE
     167. Understanding API (Application Programming Interface)
     168. Understanding Java API
     169. Java API as JRE System Library in Eclipse IDE 
     170. Understanding the JRE System Library in Eclipse IDE
     171. Creating .jar file using Eclipse IDE
     172. Using 'length' array attribute with 2 dimensional arrays
     173. Using 'length' array attribute with 3 dimensional arrays
     174. 'double' data type arrays
     175. 'char' data type arrays
     176. 'String' data type arrays
     177. Defining and Creating Objects
     178. Assigning 'Object Reference' variable
     179. Data Types in Java
     180. Primitive Data Types
     181. Non-Primitive Data Types
     182. Local Variables and Instance Variables
     183. Java and Windows Command Prompt
     184. For-each loop
     185. varargs 'Variable Legth Arguments' 
     186. varargs parameter must be the last parameter in the method
     187. varargs parameter must be used only once in a method
     188. Creating more than one Class in a single Java Class file
     189. Objects cant be created for Abstract Classes
     190. Accessing members of Abstract Class using its subclass object
     191. Assigning the SubClass reference to SuperClass and accessing members
     192. Defining objects for Abstract Classes
     193. Defining objects for Abstract Classes for accessing its abstract methods
     194. Creating a sub class using Eclipse IDE options
     195. Java Literals
     196. Numeric Literals
     197. Storing Integer Literals in long data type variables
     198. Storing Floating Point Literals in float data type variables
     199. Using Character Escape Sequences in String Literals
     200. The Object Class 
     201. Object Class Methods
     202. Using equals( ) method of Object Class
     203. Printing an Object
     204. Using toString( ) method of Object Class
     205. Using toString( ) method of Object Class to print the values of the object
     206. Using getClass( ) method of Object Class
     207. Upcasting
     208. Cannot Cast objects of Classes which are at same level in hierarchy
     209. Downcasting
     210. instanceof operator
     211. Creating duplicate Classes in same project
     212. Default Package
     213. Creating Hierarchy of Packages
     214. Understanding the Packages in Java API
     215. Renaming the packages in Hierarchy
     216. Interface implemented methods must be declared as public
     217. Implementing the Nested Interfaces
     218. Exception is an Object
     219. Exception Hierarchy 
     220. Catching exceptions using Throwable Class
     221. Catching exceptions using Exception Class
     222. Catching arithmetic exceptions using ArithmeticException Class
     223. Handling ArrayIndexOutOfBoundsException
     224. Using multiple catch blocks
     225. Order of catch blocks
     226. Handling exceptions using Exception Class for safe side
     227. Methods of Throwable Class
     228. Printing the exception details in different ways
     229. Using getMessage( ) of Throwable Class
     230. Using toString( ) of Throwable Class
     231. Using printStackTrace( ) of Throwable Class
     232. Using throw keyword in exception handling
     233. Checked Exceptions
     234. Using throws keyword in exception handling
     235. Handling FileNotFoundException
     236. Using finally in exception handling
     237. Using finally block immediately after the try block
     238. Nested try catch blocks
     239. Catching Multiple Exceptions in a single catch block
     240. Using Programmatic Method instead of Exception Handling
     241. Wrapper Classes
     242. Integer Wrapper Class
     243. Byte Wrapper Class
     244. Short Wrapper Class
     245. Long Wrapper Class
     246. Float Wrapper Class
     247. Double Wrapper Class
     248. Character Wrapper Class
     249. Boolean Wrapper Class
     250. Boxing and UnBoxing
     251. AutoBoxing
     252. Auto-UnBoxing
     253. Implementing Auto-Boxing and Auto-UnBoxing in Methods
     254. Implementing Auto-Boxing and Auto-UnBoxing in expressions
     255. Compiler Compliance Level in Eclipse IDE
     256. Object Arrays
     257. Files
     258. Creating a file using createNewFile( ) method
     259. Creating files in your Project Workspace
     260. Creating folders using mkdir( ) method
     261. Using getPath( ) and getAbsolutePath( ) methods
     262. Using exists( ) method
     263. Methods of File Class
     264. I/O Streams
     265. Reading text file using read( ) method of FileReader I/O Class
     266. Writing text to a file using write( ) method of FileWriter I/O Class
     267. Append text in a file using append( ) method of FileWriter I/O Class
     268. Using FileInputStream I/O Class
     269. Using FileOutputSteam I/O Class
     270. Reducing the object creation statements
     271. Using PrintStream I/O Class
     272. System.out.println( )
     273. static import
     274. Java auto imports all the classes in java.lang package

       Selenium IDE - The complete Reference

        Still not satisfied with Core Java, go through the other posts of  'Java for Selenium' from the below page:




      Selenium WebDriver                                                                                           
                                                    


    275. Introduction to Selenium WebDriver
    276. Downloading the Selenium WebDriver
    277. Configuring Projects in Eclipse IDE to work with Selenium WebDriver
    278. Is Selenium Server required by Selenium WebDriver ?
    279. Selenium RC versus Selenium Web Driver
    280. Create a JUnit Selenium WebDriver Test using Selenium IDE
    281. Ensure compatible Firefox Browser is installed
    282. Run the Created Selenium WebDriver Test
    283. Introduction to JUnit
    284. Using JUnit annotation in our Selenium WebDriver Tests
    285. Eclipse Automatically adds the Package Name into the newly created Java Class
    286. Writing Selenium WebDriver Test on our own
    287. Implementing JUnit Annotations
    288. WebDriver Class and its Predefined Methods
    289. 'get( )' - Selenium WebDriver method to open the specified URL page
    290. manage( ).window( ).maximize( ) - to maximize the Browser window
    291. manage( ).window( ).setSize( ) - to resize the Browser window
    292. Using Thread.sleep(Millie Seconds) to pause the execution
    293. quit( ) - Selenium WebDriver method for closing the Test Browser window
    294. What are Locators ?
    295. Different Types of Locators to identify UI elements
    296. Tools in Selenium to find out the locators
    297. Locate UI elements by ID
    298. Locate UI elements by Name
    299. Locate UI elements by Link
    300. Locate UI elements by XPath
    301. Locate UI elements by CSS
    302. Finding locators for UI elements using the Selenium IDEs recording feature
    303. click( ) - predefined method for clicking a Link
    304. click( ) - predefined method for clicking a Button
    305. Using sendKeys( ) predefined method for entering text
    306. Using click( ) - predefined method to select a radio button
    307. Using click( ) predefined method for selecting a check box option
    308. Using sendKeys( ) predefined method to select a list item from the drop down list
    309. Using getText( ) to retrieve any elements Text
    310. Using getPageSource( ) method
    311. Using getTitle( ) method for retrieving the Title of the page
    312. Using getAttribute("value") method for retrieving text from the text fields
    313. Using isDisplayed( ) to verify whether an element is available
    314. Using FirefoxDriver for running Selenium WebDriver Automation Tests on Firefox Browser
    315. Using ChromeDriver for Running our Tests on Chrome Browser
    316. Using InternetExplorerDriver for Running our Tests on Internet Explorer Browser
    317. View the source code generated by Selenium IDE in Selenium WebDriver format
    318. Renaming the Projects and its items using Eclipse IDE 'Refactor' option
    319. Refactoring the Selenium Automation Code
    320. Identifying few sample real time tests for implementing the Refactoring concept
    321. Non-Refactored Selenium Automation code for the tests identified in previous post
    322. Only one test should be written inside a single test method
    323. Using @BeforeClass and @AfterClass JUnit Annotations
    324. Refactoring the Selenium Automation code to make it readable
    325. Upgrading Selenium WebDriver
    326. HTML BASICS
    327. Introduction to XPath
    328. Understanding the hierarchy of HTML Source
    329. Parse the HTML Source using its hierarchy and find XPath path
    330. Different types of Nodes in HTML
    331. Locate the Element Nodes using Relative XPath
    332. XPath Functions
    333. last( ) - XPath Function
    334. position( ) - XPath function
    335. contains( ) - XPath function
    336. starts-with( ) XPath Function
    337. Other XPath Functions
    338. XPath Operators
    339. Wild Cards usage in XPath
    340. Using node( ) wild card in XPath Statements
    341. Using * wild card in XPath Statements
    342. Using | to combine XPath Statements
    343. XPath Optimization
    344. XPath Optimization Strategy One - Use the id attribute if available for the element but not used in XPath Statement
    345. XPath Optimization Strategy Two - Use the combination of attributes to make the XPath more specific
    346. 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
    347. XPath Optimization Strategy Four - Use Relative XPath Statements instead of Absolute XPath Statements
    348. Practice XPath
    349. Easy and Regular way of finding XPath Statements for Elements
    350. Typing the Text into Text box by Locating the Text Box field with XPath Statement
    351. Using isSelected( ) predefined method to get the status of the radio buttons and check box options
    352. Selecting values from the Drop down list by locating the Drop down field using XPath Statement
    353. Clicking the Link by locating it using XPath Statement
    354. Clicking the Button by locating it using XPath statement
    355. Introduction to CSS selectors
    356. html CSS Selector for locating the whole web page
    357. body CSS Selector for locating the body of the web page
    358. Absolute CSS Selector path
    359. Relative CSS Selector path
    360. Using # to select an element with a specified id
    361. Using [attribute='value'] to select an element containing the specified attribute
    362. Using dot in CSS path to select an element with a specified class
    363. Using [attribute] to select all the element containing the specified attribute
    364. Locating first child, last child and nth child with CSS path
    365. Locating different elements using a single CSS path
    366. Using * wild card in CSS selector
    367. Using ^= , $= and *= in CSS selector
    368. Using Boolean Operators in CSS selector
    369. CSS selector Optimization
    370. CSS selector Optimization Strategy One - Use the id attribute if available for the element but not used
    371. CSS selector Optimization Strategy Two - Use the combination of attributes to make the CSS selector statement more specific
    372. CSS selector Optimization Strategy Three - Use Relative CSS Statements instead of Absolute CSS Statements
    373. Practice CSS Path
    374. Easy and Regular way of finding CSS Path for Elements
    375. Typing the Text into Text box by Locating the Text Box field using CSS Path Statement
    376. Using isSelected( ) predefined method to get the status of the radio buttons and check box options
    377. Selecting values from the Drop down list by locating the Drop down field using CSS Path Statement
    378. Clicking a link by locating it using CSS Path statement
    379. Clicking the Button by locating it using CSS Path statement
    380. Using sendKeys( ) command for entering text into a text box field
    381. Using sendKeys( ) command for entering text into a Password field
    382. Using sendKeys( ) command for entering single line text into a Text Area field
    383. Using sendKeys( ) command for entering multiple lines of text into a Text Area field
    384. Using clear( ) command to clear a text box field
    385. Using clear( ) command to clear a Text Area field
    386. Difference between close( ) and quit( ) Selenium WebDriver commands
    387. Launching more than one Browser windows
    388. Understanding how close( ) and quit( ) commands work when more than one window is opened
    389. Understanding how close( ) and quit( ) commands work when only one window is opened
    390. Try this if close( ) WebDriver command is not closing the Browser window
    391. Using click( ) WebDriver command for selecting a check box option
    392. Using click( ) command for deselecting a check box option
    393. Using isSelected( ) method to get the status of the check box option
    394. Using click( ) command to select a radio button
    395. Using isSelected( ) method to get the status of the radio button
    396. Using isEnabled( ) to find out whether the button is enabled
    397. Using isEnabled( ) to find out whether the text box field is in enabled state or disabled state
    398. Using sendKeys( ) command to select a list item from the drop down field
    399. Using deselectAll( ) command to deselect any already selected list options in the multiple-selection Box
    400. Using selectByVisibleText( ) command to select more than one list options from the Multi Select Box field
    401. Using deselectByVisibleText( ) command to deselect any list option from the Multi Select Box field
    402. Using selectByIndex( ) command to select any list option using its Index value from the Multi Select Box field
    403. Using deselectByIndex( ) command to deselect any list option using its Index value from the Multi Select Box field
    404. Using selectByValue( ) command to select the list option from the Multi Select Box field using the specified value
    405. Using deselectByValue( ) command to deselect the list option from the Multi Select Box field using its value
    406. Using selectByVisibleText( ) command with Drop Down Field
    407. Using selectByIndex( ) command with Drop Down field
    408. Using selectByValue( ) command with Drop Down field
    409. Using navigate( ).to( ) command to open the specified URL
    410. Using navigate( ).back( ) command to move backward in our browser
    411. Using navigate( ).forward( ) command to move forward in our browser
    412. Using sendKeys( ) command to browser a file
    413. Using click( ) for clicking a button
    414. Using click( ) for clicking a link
    415. Using getAttribute("value") with a text box field
    416. Using getAttribute("value") method with Password field
    417. Using getAttribute("value") method with Text Area field
    418. Using getAttribute("value") method with drop down field
    419. Using getFirstSelectedOption( ) with drop down field to retrieve the label text of the list option that is currently selected
    420. Using getFirstSelectedOption( ) with Multi-Selection Box field to retrieve the label text of the option that is selected first in the field
    421. Using isMultiple( ) with a drop down fiel
    422. Using isMultiple( ) with Multi-Selection Box field
    423. Using getAllSelectedOptions( ) to get all the selected options in Multi-Selection Box field
    424. Using getOptions( ) to get all the options available in Drop Down field
    425. Using getOptions( ) to get all the options available in Multi-Selection Box field
    426. Entering an integer variables value into a text box field using sendKeys( ) command
    427. Using size( ) to retrieve the count of list options available in the drop down field
    428. Using size( ) to retrieve the count of list options available in the Multi-Selection Box field
    429. Locating elements using By.tagName( )
    430. Using findElements( )
    431. Using getTitle( ) to retrieve the title of the page
    432. Using getText( ) to retrieve the elements text
    433. Get XPath Count in Selenium WebDriver

       Selenium WebDriver - The complete Reference

        Still not satisfied with Selenium WebDriver, go through the other posts of Selenium WebDriver from the below page:





     Advanced Selenium                                                                                          
                                                    


        Advanced Selenium - The complete Reference

        Still not satisfied with Advanced Selenium, go through the other posts of Advanced Selenium from the below page:




     Selenium IDE Continued                                                                                          
                                                    


        Selenium IDE - The complete Reference

        Still not satisfied with Selenium IDE, go through the other posts of Selenium IDE from the below page: