Selenium Blog

The following are the 500+ posts from my famous Selenium Blog – Selenium By Arun

 
  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                                                                                                                                       
                                                
 
    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 Selenium29. 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: