SELENIUM AUTOMATION

SELENIUM AUTOMATION


Selenium automates browsers. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Web-based administration tasks can also be automated. Selenium has the support of some of the largest vendors who have taken steps to make Selenium a native part of their browser. It is also the core technology in countless other browser automation tools, APIs and frameworks.


Selenium is becoming very popular as an Automation tool in the IT industry as it is a freeware and very handy. Its popularity has grown immensely in last few years. We recommend this course to everyone in the software testing vertical.


COURSE CONTENT


SESSION 1 SESSION 2 SESSION 3
  • Introduction to Automation
  • What is automation testing
  • Advantages of Automation Testing
  • How to learn any automation tool
  • Types of Automation tools
  • Java Introductions
  • Selenium Overview
  • Installing Java
  • Installing Eclipse
  • Features of Java
  • Why Java for Selenium
  • First Eclipse Project
  • First Java program
  • Concept of class file
  • Platform independence
  • Datatypes in Java
  • String class
  • If statements
  • One Tier
  • Loops, Arrays and Functions
  • Conditional and concatenation operators
  • While Loop
  • For Loops
  • Practical Examples with loops
  • Usage of loops in Selenium
  • Single Dimensional Arrays
  • Two Dimensional arrays
  • Practical usage of arrays in Selenium
  • Drawbacks of arrays
  • What are Functions ?
  • Function Input Parameters
  • Function Return Types
  • Logical Problems Solving on Java
  • Local variable
  • Instance/Global/Non-Static Variable
  • Static/Global/Class Variable
  • OOP’s
  • Basics of OOP’s
  • Why OOP’s
  • Class & Objects
  • Polymorphism
  • Method Overriding
  • Method Overloading
  • Benefits of Encapsulation
  • What is Abstraction
  • Logical Problems Solving on Java
SESSION 4 SESSION 5 SESSION 6
  • Constructors
  • Interface and Usages
  • Access Modifiers and Exception Handling
  • Access modifiers – Public, Private, Default, Protected
  • Exception handling 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
  • Collections and String Manipulation
  • What is Collections and usage
  • Types of Collections
  • Array
  • List
  • Set
  • Map
  • Queue
  • String class and functions
  • Reading/Writing Text Files
  • Reading Properties File in Java
  • Concept of jar file
  • POI API in java
  • Introduction to Selenium Components
  • Selenium IDE
  • Selenium Core
  • Selenium Grid
  • Selenium 2.0 – Web Driver
  • Downloading and Installing Selenium IDE
  • Recording and Running a Simple Test
  • Selenium Concepts
  • Selenium Commands
  • Verifying Page Elements – Assertions and Verifications
  • Object Identification
  • Element Locators
  • Installation Firebug
  • Installation Firepath
  • Live Project on Selenium IDE
  • Selenium WebDriver 3.0
  • Why WebDriver ?
  • Downloading WebDriver Jars and configuring in eclipse
  • Architecture of selenium WebDriver
  • Drivers for Firefox, IE, chrome
  • First Selenium Code
  • Working with chrome and IE
  • Selenium RC and WebDriver
  • Concept of Firefox profile
  • What is Firefox profile
  • Why we need Firefox Profile
  • Close and Quit -Difference
  • WebDriver Desired Capabilities Class
  • Proxy settings with WebDriver/Working with proxy Servers
  • HTML Unit driver and desired capabilities
SESSION 7 SESSION 8 SESSION 9
  • Selenium WebDriver 3.0– Part II
  • Inspecting elements in Mozilla, Chrome and IE
  • HTML language tags and attributes
  • Various locator strategies
  • WebDriver Interface
  • WebElement Interface
  • 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
  • Working with different browsers without changing code
  • Live Project on Selenium WebDriver Commands
  • Advance Selenium WebDriver
  • Managing Input fields, Buttons and creating custom xpaths
  • Managing/Identifying Links with xpaths/css selectors
  • Extracting More than one object from a page
  • Extracting all links of a page/Bulk extraction of objects
  • Extracting Objects from a specific area of a web page
  • Various strategies to test Links on a page by clicking on them one by one
  • Finding response Headers/ response code
  • Finding whether object is present on page or not
  • Select Class in Selenium API
  • Managing radio buttons and Checkboxes
  • Hidden components
  • isDisplayed function
  • Taking Screenshots of the web pages
  • How to Google out errors-Self sufficiency
  • TestNG
  • Overview of TestNG framework
  • Building the Test Base Class
  • Using Annotations of TestNg
  • Reading XPATHS, Configuration from properties file
  • Initialize the Webdriver in TestNG
  • Implementing WebDriver Implicit Wait
  • Building utility functions
  • Assertions and Reporting Errors
  • Storing Screenshots of errors
  • Reporting multiple failures in single test
  • Running test cases in test suites parallel on TestNG
  • Custom reporting in XLS file
  • Implicit and Explicit waits
  • PageLoad Timeout Property
  • WebDriverWait Class
  • WebDriver Timeout Interface
  • Expected Condition interface and ExpectedConditions class
  • WaitUntil Condition
  • Fluent Wait
  • Live Project on Advanced Selenium WebDriver and TestNG
SESSION 10 SESSION 11 SESSION 12
  • Customize Report - Extent Report
  • Automation Test Cases Writing
  • Automation efforts Estimation
  • Automation Execution Report for ROI
  • Create own report with Information, Errors, Failure, Pass, Warning
  • Selenium Framework Design and Development
  • Selenium Framework Design and Development
  • Keyword Driven Framework
  • Data Driven Framework
  • Hybrid Framework
  • Automation Test Cases Writing
  • Automation efforts Estimation
  • Why GitHub
  • Github centralize repository
  • Github – Commit, Push & Pull
  • Jenkin
  • Live Project on Selenium Framework Design and Development
  • Advance Selenium Framework Design and Development
  • Page object model
  • Live Project on POM Selenium Framework Design and Development
  • Interview preparation.