Google+

Contents


  Introduction to Selenium                                                                                    
                                                

  1. What is Selenium?
  2. What should I know prior to learning Selenium?
  3. Install FireBug Add-on for Firefox
  4. How to use FireBug?
  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                                                                                                                                       
                                                

  1. Install Selenium IDE
  2. What is Selenium IDE ?
  3. Record and Playback using Selenium IDE
  4. Validating Elements using Selenium IDE
  5. Validating Elements using Assert Mechanism
  6. Validating Elements using Verify Mechanism
  7. Viewing the source code of the steps recorded using Selenium IDE in our desired language
  8. What are Locators ?
  9. Different types of Locators to identify UI elements
  10. Tools in Selenium to find out the Locators
  11. Locate UI elements by ID
  12. Locate UI elements by Name
  13. Locate UI elements by Link
  14. Locate UI elements by XPath
  15. Locate UI elements by CSS
  16. Finding locators for UI elements using the Selenium IDE's recording feature

   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 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


  Miscellaneous Topics                                                                                           
                                                



Blog Index