Saturday, 19 December 2015

Selenium Training Syllabus

Selenium Syllabus

Chapter 1 | Introduction to Selenium
·         Selenium Introduction  
·         Brief History      
·         Selenium Tool Suite       
·         Why Selenium  
·         Note on Browser & Environment Support           
·         Advantage of WebDriver             
·         Limitations of WebDriver
·         How to choose the right Selenium Tool for your need    
·         A short comparison of Selenium with QTP           
·         Selenium WebDriver Overview
·         Define a Test Strategy for Automation  
·         Pick a Programming Language   
·         Choose an Editor             

Chapter 2 | Configure Selenium WebDriver            
·         Install Java         
·         Install Eclipse    
·         Install Firefox, Firebug, FirePath               
·         Download Selenium-Server.jar File         
·         Configuring Selenium in Eclipse

 
Chapter 3 | Core java Introduction & OOPs concepts 
·         Features of Java              
·         Why Java for Selenium 
·         First Eclipse Project        
·         First Java program          
·         Comment           
·         Concept of class file       
·         Platform independence               
·         Data types in Java           
·         String class         
·         If statements    
·         Loops, Arrays and Functions      
·         Conditional and concatenation operators            
·         While Loop        
·         For Loops           
·         Single Dimensional Arrays           
·         Two Dimensional arrays               
·         Drawbacks of arrays      
·         What are Functions?     
·         Function Input Parameters         
·         Function Return Types 
·         Local Variables 
·         Global Variables              
·         Static and Non-Static Variables 
·         Static and Non-Static Functions
·         Creating Objects in Java               
·         Meaning of static            
·         Why is main method static?       
·         Object and Object References  
·         Call by reference and Value       
·         Constructors     
·         Usage of Objects in Selenium    
·         Concept of Inheritance
·         Interface            
·         Overloading and Overriding Functions
·         Example on inheritance               
·         Object Class      
·         Usage of Inheritance in Selenium            
·         Packages, Access Modifiers/ Exception Handling              
·         Relevance of Packages 
·         Creating Packages          
·         Accessing Classes across Packages          
·         Good Features of eclipse            
·         Accessing modifiers - Public, Private, Default, Protected               
·         Exception handing with try catch block  
·         Importance of exception handling          
·         Exception and Error       
·         Throwable Class              
·         Final and Finally               
·         Throw and Throws         
·         Different Types of Exceptions   
·         Need of exception handling in Selenium framework      
·         Collection API/Reflection API    
·         Introduction to Collections API 
·         ArrayLilst Class 
·         HashTable Class               
·         Using ArrayList and HashTable of Collection API in Selenium framework
·         Reflection API usage and importance    
·         String class and functions            
·         Reading Properties File in Java

Chapter 4 | Selenium IDE   
·         Installing Selenium IDE & Running
·         Features of Selenium IDE            
·         Create Test Case & Test Suite
·         Export code       
·         Recording Script              
·         Running, Pausing and debugging Script 
·         Running a script line by line        
·         Inserting commands in between script 
·         XPATHS and installing firebug to get XPATHS      
·         Wait Commands              
·         Verification and Assertions         
·         Should I use verify or assertion 
·         Echo, StoreEval and StoredVars Demystified
·         Regular Expressions in Selenium IDE

Chapter 5 | Selenium WebDriver     
·         Overview of Selenium WebDriver           
·         Why WebDriver               
·         Architecture of selenium WebDriver      
·         Why not RC       
·         Write First Selenium Script          
·         WebDriver Interface     
·         WebElement Interface 
·         How to Google out errors-Self sufficiency              


Chapter 6 | Object Locator         
·         Inspecting elements in Mozilla, Chrome and IE  
·         HTML language tags and attributes         
·         Various locator strategies            
·         Xpath   
·         Identifying WebElements using id, name, class 
·         Finding Xpaths to identify           
·         Absolute and complete Xpaths 
·         Creating customized Xpaths without firebug      
·         Css Selectors     
·         Generating own CssSelectors    
·         Performance of CssSelectors as compared to Xpaths     
·         Finding xpaths/cssselectors in different browsers - Mozilla, Chrome and IE         
·         Objects with same id/xpath/cssSelector              
·         What is class attribute?
·         Handling Dynamic objects/ids on the page          

Chapter 7 | Common Selenium Methods           
·         Selenium useful & Common methods

Chapter 8 | Working on Browsers
·         Working on Firefox
·         Working on Chrome
·         Working on IE

Chapter 9 | Working on Form Elements
·         Working on Text Field
·         Working on Label
·         Working on Checkbox
·         Working on Radio button
·         Working on combo box
·         Working on Date Calender
·         Working on Links
·         Extracting objects in bulk from web page
·         Working on frames

Chapter 10 | Introduction of Apache Maven
·         Why Apache Maven for Selenium           
·         Installing Maven              
·         Why POM.xml  
·         Configuration, properties in POM.xml   
·      

Chapter 11 | TestNG Framework          
·         What is TestNg 
·         Installing TestNg in Eclipse          
·         Why do we need TestNG in Selenium   
·         Advantage of TestNg over Junit               
·         TestNg annotations       
·         First test case using annotations              
·         Running test case through TestNG.xml 
·         Checking reports created by TestNG      
·         Creating sample test cases         
·         Listeners in TestNG        
·         Create customized HTML report              
·         Parameterization            
·         Understanding usage of annotations     
·         Running a Test in TestNg             
·         Batch Running of tests in TestNg              
·         Skipping Tests  
·         parameterizing Tests - DataProvider      
·         Assertions/Reporting Errors       
·         TestNg Reports
·         Using TestNg in Selenium            
·         Grouping test cases       
·         Setting priority of execution for test cases          
·         Putting Dataproviders for multiple tests in a single file   

Chapter 12 | Selenium Grid
·         What is Selenium Grid?
·         When to Use Selenium Grid?    
·         Grid 1.0 Vs Grid 2.0         
·         What is a Hub and Node?            
·         How to Install and Use Grid 2.0?               
·         Designing Test Scripts That Can Run on the Grid
·         Using the DesiredCapabilites Object      
·         Using the RemoteWebDriver Object      
·         Running a Sample Test Case on the Grid               

Chapter 13 | Working on Advance WebDriver
·         Working with different browsers without changing code              
·         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         
·         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              
·         Mouse movement with Selenium- Mouse Interface      
·         Handling Ajax Autosuggests       
·         Handling Google Ajax Autosuggests       
·         Handling Frames in Web Page   
·         Handling cookies             
·         More Examples on Webtables  


Chapter 14 | Introduction to Page Object Design Pattern  
·         Why POM          
·         What is POM
·         Advantages of POM      
·         How to implement POM
·         What is Page Factory
·         When to use POM
·         Designing POM classes

Chapter 15 | Framework Creation using Java, TestNG, POI, Maven, Jenkins, Selenium Grid
·         Overview of Page Object Design Framework 
·         Reading test data from XLS files
·         Creating properties file to store object details
·         Implementing WebDriverWait
·         Implementing keywords
·         Parameterizing test using DataProvider & XLS files
·         Repeating test with different data
·         Generating test reports
·         Emailing test reports