SELENIUM

SELENIUM

Testing Fundamentals

  • What is testing?
  • Different approaches of testing?
  • Disadvantages of manual testing
  • What is Automation testing?
  • Benefits of Automation testing?
  • What type of Test cases can automate?
  • What type of test cases not to automate?
  • Automation life cycle
  • Different types of Automation tools
  • Difference between QTP & Selenium

Introduction to Selenium

  • History of selenium
  • What is selenium?
  • Components of selenium

Selenium IDE

  • Selenium IDE Introduction
  • Download & configure Selenium IDE
  • Selenium IDE Features
  • Record and Run Tests
  • Generate Tests Manually
  • Debug Selenium IDE Tests
  • Enhancing Selenium IDE Tests
  • What is Verification and Assertion?

Element identification

  • What is element property?
  • Different ways to recognize element properties
  • What is firebug and firepath?
  • How to recognize element in chrome & I.E Browsers?

Selenium WebDriver

WebDriver – Part 1

  • First selenium code in webdriver
  • Working with chrome and I.E
  • Working with basic browser commands
  • Get()
  • getTitle()
  • getCurrentUrl()
  • getPageSource()
  • close()
  • Quit()
  • Concept of Firefox profile
  • What is Firefox Profile?
  • Why we need Firefox profile
  • Importing web Driver documentation in Eclipse
  • WebDriver Desired capabilities class
  • Html unit driver and desired capabilities

WebDriver -- Part 2

  • 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

WebDriver -- Part 3

  • 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
  • Handling drop down list
  • Select Class in Selenium API
  • Managing radio buttons and Checkboxes
  • Hidden components
  • isDisplayed function
  • Taking Screenshots of the web pages

WebDriver -- Part 4

  • Implicit and Explicit waits
  • PageLoadTimeout Property
  • WebDriverWait Class
  • Timeout Interface
  • ExpectedCondition interface and ExpectedConditions class
  • WaitUntil Condition
  • Fluent Wait
  • Managing Ajax based components
  • Concepts of Set Interface in Java
  • 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 Mozilla

WebDriver -- Part 5

  • Mouse movement with Selenium - Actions class
  • Randomly clicking/selecting Objects - Randomizing
  • Extracting Data From WebTable
  • Dynamic WebTable Handling
  • Handling Ajax Auto suggests
  • Handling Frames in Web Page
  • Webtables and css Selectors
  • Managing Javascript alerts

WebDriver -- Part 6

  • Simulaing front and back buton click on Browser using selenium
  • Assigning Firefox profile parameters
  • Downloading files using selenium
  • Selenium Javadocs
  • Listeners- Using WebDriverEventListener
  • Practical usage of Listeners in Selenium
  • Moving a mouse on a Object and right clicking on it
  • Finding Coordinates of a Web Object
  • Actions class in Webdriver
  • Handling CSS menu with Action class
  • Handling CSS menu with JavaScriptExecutor
  • JavaScriptExecutor example
  • Drag, drop, native events

Selenium Grid

  • What is selenium Grid?
  • Use of selenium Grid
  • How to configure selenium grid?

TestNG Framework

  • what is TestNg
  • Installing TestNg in Eclipse
  • TestNg annotations
  • 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
  • Advantages over Junit
  • Using TestNg in Selenium

Java Concepts

Java Introduction

  • 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

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

Object Oriented Programming- 1

  • 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 ValueC
  • Constructors
  • Usage of Objects in Selenium

Object Oriented Programming -2

  • Concept of Inheritance
  • Interface
  • Overloadings and Overriding Funtions
  • 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 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

Automating Window Components

  • AutoIt
  • Robot Class

Maven

  • What is maven & why Maven?
  • Installing/configuring Maven
  • Archetypes in Maven
  • Creating Maven project through command line
  • xml
  • Importing Archetypes
  • Maven Repositories

DataBase Testing Using Selenium

  • Supporting Database application
  • How to connect Database interface with JAVA?
  • Showing Examples with

Jenkins

  • What is Jenkin
  • What is continuous integration?
  • How to configure Jenkins
  • How to send emails
  • Sceduling Build.

POM (Page object Model)

  • What is POM
  • Why POM
  • Advantages of POM
  • Creating POM Test
  • What is Page Factory
  • Creating Test With Page Factory