Selenium Online Training – May 2018 Batch

Hi all,

Thanks for attending Selenium Training Sessions. Please find the recorded sessions and other details of the Session below:

Note: People from this batch one, Login to your Gmail address to which we have provided access and click on the below links to open them in the same browser window where your Gmail address is logged in.


Session 1: Introduction to Selenium – Part 1 (30 minutes)

  • Manual Testing
  • Automation Testing
  • What Selenium can Automate?
  • What Selenium cannot Automate?
  • Selenium is Free

Session 2: Introduction to Selenium – Part 2 (1 hour)

  • Selenium and Browsers Support
  • Selenium and Operating Systems Support
  • Selenium and Programming Languages Support
  • Selenium and its components
  • Different versions of Selenium
  • Pre-requisites required for learning Selenium

Session 3: Firebug and HTML (1 hour 15 minutes)

  • Downgrading the Firefox Browser version for Firebug
  • Installing FireBug
  • What is FireBug?
  • Purpose of using FireBug
  • What is HTML?
  • HTML Basics – Practical Demonstration

Session 4: Selenium IDE (50 minutes)

  • What is Selenium IDE?
  • Installing older version of Selenium IDE
  • Demonstrating Selenium IDE
  • Passing and Failing Automated Test using Selenium IDE
  • Disadvantages of Selenium IDE
  • Older version of Selenium IDE versus Latest version of Selenium IDE
  • Installing Latest version of Selenium IDE on Firefox Browser
  • Installing Latest version of Selenium IDE on Chrome Browser

Session 5: Locators (1 hour)

  • Introduction to Locators
  • Different types of Locators
    • id locator
    • name locator
    • class locator
    • link locator
    • xpath locator
    • css locator
    • dom locator
  • Demonstrating different types of Locators
  • Priority of Locators

Session 6: XPath Expressions – Part 1 (1 hour)

  • XPath Expressions
  • Types of XPath Expressions
  • Installing Firepath
  • Absolute XPath
  • Demonstrating Absolute XPath Expressions
  • Using Firepath for auto generating Absolute XPath
  • Disadvantages of Absolute XPath
  • Relative XPath
  • Demonstrating Relative XPath Expressions
  • Using Firepath for auto generating Relative XPath
  • Advantages of Relative XPath

Session 7: XPath Expressions – Part 2 (1 hour)

  • Practical demonstration of various Relative XPath Expressions
  • Demonstrating Relative XPath Expressions on http://compendiumdev.co.uk website
  • Demonstrating Relative XPath Expressions on http://omayo.blogspot.in/ blog
  • 30 Examples for Practicing Relative XPath Expressions and their demonstration

Session 8: XPath Expressions – Part 3 (1 hour)

  • XPath Function – text()
  • XPath Function – contains()
  • XPath Function – starts-with()
  • 16 Examples for Practicing Relative XPath Expressions and their demonstration

Session 9: XPath Expressions – Part 4 (1 hour)

  • XPath Function – last()
  • XPath Function – position()
  • XPath Expressions – Table()
  • XPath Axes()
  • XPath Expressions – Wild cards ()
  • 50 Examples for Practicing Relative XPath Expressions and their demonstration

Session 10: CSS Selectors (1 hour)

  • CSS Selectors versus XPath Expresions
  • Types of CSS Selectors
  • Absolute CSS Selectors
  • Demonstration of Absolute CSS Selectors with examples
  • Relative CSS Selectors
  • Demonstration of Relative CSS Selectors with examples
  • Using Firepath for auto generating Relative CSS Selectors

Session 11: CSS Selectors – Part 2 (1 hour)

  • 65 Examples for Practicing Relative XPath Expressions and their demonstration
  • Generating Relative CSS using Firepath

Session 12: Introduction to Java (1 hour)

  • Introduction to Java
  • Downloading Java
  • Installing Java
  • Configuring Java
  • Downloading Eclipse IDE
  • Extracting Eclipse IDE

Session 13: Java – Part 2 (1 hour)

  • Launching Eclipse IDE
  • Java Project Creation and Execution
  • Understanding Java programs
  • Configuring Java
  • Compiler Errors

Session 14: Java – Part 3 (1 hour)

  • Print Statements – print & println
  • Comments – single line and multi line comments
  • Storing data in Java programs using Variables, Data Types, Operators and Literals
  • Variables – Local variables and Instance variables

Session 15: Java – Part 4 (1 hour)

  • Data Types – byte, short, int, long, float, double, char and boolean
  • Operators
  • Arithmetic Operators
  • Demonstrating different data types and Arithmetic Operators

Session 16: Java – Part 5 (50 Minutes)

  • Relational Operators
  • Logical Operators
  • Assignment Operators
  • Conditional Operator
  • Different Flow control statements

Session 17: Java – Part 6 (50 Minutes)

  • Selection Flow Control Statements
  • if statements
  • if .. else statements
  • if .. else if .. else statements
  • switch statements

Session 18: Java – Part 7 (1 hour)

  • Iterative Flow Control Statements
  • while loop
  • do while loop
  • for loop
  • for-each loop
  • Transfer Flow Control Statements
  • break statement
  • continue statement
  • return, try, catch and finally statements

Session 19: Java – Part 8 (1 hour)

  • Methods
  • main() method
  • Creating multiple methods
  • Calling methods
  • Single and multiple parameterized methods
  • Passing arguments to the parameterized methods
  • Returning values to the calling methods
  • Return type

Session 20: Java – Part 9 (1 hour)

  • Classes, Variables and Methods
  • Class and Objects
  • Demonstrating objects creation using Class as a template
  • Object creation statement
  • Arrays
  • Types of Arrays

Session 21: Java – Part 10 (1 hour)

  • Single Dimensional Arrays
  • Declaration, Creation, Assignment and Accessing Single Dimensional Arrays
  • Shortcut representation of Single Dimenstional Arrays
  • length variable and Single Dimensionals Arrays
  • for loop and single dimenstional arrays
  • for-each loop and single dimensional arrays
  • Two Dimensional Arrays
  • Declaration, Creation, Assignment and Accessing Two Dimensional Arrays
  • Shortcut representation of Two Dimenstional Arrays

Session 22: Java – Part 11 (1 hour 15 minutes)

  • Using length variable with Two Dimensional Array
  • Using for loop with Two Dimensional Array
  • Arrays and Object Class
  • Disadvantages of Arrays
  • String
  • Actual and short-cut representation of String
  • Concatenating two Strings
  • Pre-defined methods of String and their demonstration

Session 23: Java – Part 12 (1 hour 10 minutes)

  • Primitive Data Types and Wrapper Classes
  • Demonstrating Primitive Data Types values covertion to Wrapper Class Objects
  • Demonstrating Wrapper Class Objects convertion to Primitive Data Types values
  • Constructors
  • Difference between Constructors and Methods
  • Demonstrating Constructors
  • Purpose of Constructors and its demonstration
  • Using this keyword

Session 24: Java – Part 13 (1 hour 10 minutes)

  • Overloading
  • Method Overloading Demonstration
  • Constructor Overloading Demonstration
  • Packages
  • Demonstrationg Packages
  • Packages and import Statements
  • Inheritance
  • Inhertiance and extends keyword
  • Demonstrationg Inhertiance using Parent and child classes

Session 25: Java – Part 14 (1 hour)

  • Overriding
  • Method Overriding Demonstration
  • Modifiers – Part 1
  • Access Modifiers
  • Non-access Modifiers
  • public
  • private
  • default
  • protected

Session 26: Java – Part 15 (1 hour 10 minutes)

  • Non-Acess Modifiers
  • static Variables
  • static Methods
  • final Classes
  • final Variables
  • final Methods
  • abstract Classes
  • abstract Methods
  • abstract and object creation

Session 27: Java – Part 16 (1 hour)

  • Interfaces
  • Classes versus Interfaces
  • Purpose of Interfaces
  • Inheriting the properties of interfaces
  • Interfaces and objects creation
  • And other miscellenious topics in Interfaces

Session 28: Java – Part 17 (1 hour)

  • Exception Handling
  • What is an Exception?
  • Compile time error versus Run time errors
  • try catch block for handling Exceptions
  • Demonstrating programs and cases of try catch block
  • Exception Hierarchy
  • Example Exceptions – ArithmeticException and ArrayIndexOutofBoundsException
  • Demonstrating Arithmentic Exception
  • Demonstrating ArrayIndexOutofBoundsException
  • Using Throwable and Exception parent classes for handling thier sub class exceptions

Session 29: Java – Part 18 (1 hour)

  • Exception Types
  • Unchecked Exceptions
  • Checked Exceptions
  • Checked Exceptions versus Unchecked Exceptions
  • Demonstrating Checked and Unchecked Exceptions
  • Handling Checked Exceptions using try catch block
  • Ignoring Checked Exceptions using throws
  • Demonstrating different ways to print the Exception details in the catch block

Session 30: Java – Part 19 (1 hour 30 minutes)

  • File Handling
  • Representing Files in Java
  • Demonstrating reading text from files and optimizing the program
  • Collections Framework
  • What are Collections?
  • Collections Hierarchy
  • ArrayList
  • Arrays versus ArrayList
  • Demonstrating ArrayList using for and for-each loops

Session 31: Java – Part 20 (1 hour 30 minutes)

  • Collections Framework – Part 2
  • HashSet
  • ArrayList versus HashSet
  • Demonstrating HashSet using for-each loop
  • Iterator interface and iterator() method
  • Using Iterator interface and iterator() method with ArrayList
  • Using Iterator interface and iterator() method with HashSet
  • HashMap
  • Demonstrating HashMap using for-each loop
  • Reflection API
  • Demonstrating Reflection API conception with non-parametrized method
  • Demonstrating Reflection API conception with parametrized method

Session 32: Selenium WebDriver – Part 1 (1 hour)

  • Selenium & its components
  • Main component of Selenium
  • Downloading Selenium WebDriver
  • Configuring Java Project with Selenium WebDriver
  • Exeucting Selenium WebDriver scripts on Firefox browser
  • Checking the compatibility of Firefox Browser version with Selenium WebDriver version

Session 33: Selenium WebDriver – Part 2 (1 hour and 30 minutes)

  • Selenium WebDriver API Library – commands / methods
  • get() method
  • manage().window().maximize()
  • findElement()
  • By class
  • id() method
  • name() method
  • className() method
  • linkText() method
  • partialLinkText() method
  • cssSelector() method
  • xpath() method
  • click() method
  • sendKeys() method
  • clear() method
  • getText() method

Session 34: Selenium WebDriver – Part 3 (1 hour and 10 minutes)

  • Selenium WebDriver API Library – commands / methods – Part 2
  • getTitle() method
  • getCurrentUrl() method
  • close() method
  • quit() method
  • getAttribute() method
  • isDisplayed() method
  • isEnabled() method
  • isSelected() method
  • navigate() method
  • getPageSource() method

Session 35: Selenium WebDriver – Part 4 (1 hour)

  • Selenium WebDriver API Library – commands / methods – Part 3
  • findElements() method
  • findElements and By.tagName
  • Handling Mutliple Windows – Part 1
  • getWindowHandles()
  • switchTo() method

Session 36: Selenium WebDriver – Part 5 (1 hour 30 minutes)

  • Handling Mutliple Windows – Part 2
  • Handling More Than Two windows
  • Waiting mechanism
  • Java – Thread.sleep()
  • Selenium – Implicit Wait
  • Selenium – Explicit Wait
  • Implicit vs Explicit Wait

Session 37: Selenium WebDriver – Part 6 (1 hour 30 minutes)

  • Waiting Mechanism – Part 2
  • WebDriverWait versus FluentWait
  • Practical demonstration of FluentWait
  • Handling Alerts
  • Reading text on the alert
  • Practical demonstration of handling alerts
  • Handling dropdown fields and multiselection boxes
  • Practical demontration of handling dropdown fields
  • Practical demontration of handling multi selection box fields

Session 38: Selenium WebDriver – Part 7 (1 hour 10 minutes)

  • Handling Frames
  • Handling Lightbox
  • Execution Selenium scripts on Chrome Browser
  • Executing Selenium scripts on IE Browser

Session 39: Selenium WebDriver – Part 8 (1 hour 30 minutes)

  • Selenium 3
  • Selenium 2 versus Selenium 3
  • Executing Selenium 3 scripts on Firefox Browser using geckodriver
  • Executing Selenium 3 scripts on Chrome Browser
  • Executing Selenium 3 scripts on Internet Explorer Browser
  • Advantage of using WebDriver interface – Practical demonstration

Session 40: Selenium WebDriver – Part 9 (1 hour)

  • Selenium 3 – Part 2
  • Unavailability of FireBug, FirePath and stable Selenium IDE in latest Firefox Browser versions
  • Selenium 3 – Demonstrating click() method
  • Selenium 3 – Demonstrating sendKeys() method
  • Selenium 3 – Demonstrating clear() method
  • Selenium 3 – Demonstrating getText() method
  • Selenium 3 – Demonstrating getTitle() method
  • Selenium 3 – Demonstrating getCurrentURL() method
  • Selenium 3 – Demonstrating close() method
  • Selenium 3 – Demonstrating quit() method
  • Selenium 3 – Demonstrating getAttribute() method
  • Selenium 3 – Demonstrating isDisplayed() method
  • Selenium 3 – Demonstrating isEnabled() method
  • Selenium 3 – Demonstrating isSelected() method
  • Selenium 3 – Demonstrating navigate() methods – back(), forward(), refresh() and to()
  • Selenium 3 – Demonstrating getPageSource() method

Session 41: Framework Concepts – Properties Files (1 hour)

  • Purpose of Properties Files in Frameworks
  • Demonstrating a Java project retrieving the properties from the Properties file
  • Demonstrating the usage of Properties files in Selenium Projects
  • Understanding the actual purpose of Properties files in Selenium Projects

Session 42: Framework Concepts – POI API – Part 1 (1 hour)

  • Purpose of POI API
  • Excel File Versions – xls and xlsx
  • POI API Interfaces and Classes
  • Practical Demonstration for understanding the basics of POI API

Session 43: Framework Concepts – POI API – Part 2 (1 hour)

  • Demonstrating the generalization of POI API programs to work with xls and xlsx files
  • Utilizing the userdefined methods in MyXLSReader.java file

Session 44: Framework Concepts – Log4j API (1 hour)

  • Purpose of logging
  • Implementing Logging using System.out.println() statements
  • Disadvantages of using SOP statements for Logging
  • Implementing Logging using System.out.println() statements
  • Customizing the properties in log4j.properties file
  • Demonstrating logging using log4j API

Session 45: Framework Concepts – TestNG API – Part 1 (1 hour)

  • Role of TestNG in Frameworks
  • Installing TestNG in Eclipse IDE
  • Configuring the Java projects with TestNG jar files
  • TestNG API LIbrary
  • TestNG Annotations
  • @Test Annotation
  • Prioritising the Tests

Session 46: Framework Concepts – TestNG API – Part 2 (1 hour)

  • TestNG – @BeforeMethod annotation
  • TestNG – @AfterMethod annotation
  • TestNG – @BeforeClass annotation
  • TestNG – @AfterClass annotation
  • TestNG – Executing the TestNG Classes in batch

Session 47: Framework Concepts – TestNG API – Part 3 (1 hour)

  • TestNG – Failing a test
  • TestNG – Passing a test
  • TestNG – Skipping a test
  • TestNG – Assertions
  • TestNG – Parameterization using @DataProvider

Session 48: Framework Concepts – Maven (1 hour 20 minutes)

  • What is Maven?
  • Purpose of Maven
  • Demonstrating using the Jar files in Traditional Project
  • Maven Project Creation
  • Understanding the Maven Project default structure
  • Demonstrating using the Jar files in Maven Project

Session 49: Framework Concepts – Extent Reports (1 hour 30 minutes)

  • What are Extent Reports?
  • Advantages of Extent Reports?
  • Demonstrating Extent Reports
  • Generating reports with the names as Timestamp
  • Passing the Extent Reports
  • Failing the Extent Reports

Session 50: Framework Concepts – Taking Screenshots and ANT – Part 1 (1 hour)

  • Taking Screenshots in Selenium
  • What is ANT?
  • Purpose of using ANT
  • Maven versus ANT

Session 51: Framework Concepts – ANT – Part 2 (1 hour 30 minutes)

  • Download ANT
  • Configuring ANT
  • Understand build.xml file
  • Executing the Selenium Project code from command line
  • Demonstrating ANT

Session 52: Data Driven Framework – Part 1 (1 hour)

  • Data Driven Testing
  • Data Driven Framework
  • Demo Application – www.zoho.com
  • Creating/Designing Data Driven Framework Development – Part 1

Session 53: Data Driven Framework – Part 2 (1 hour)

  • Creating/Designing Data Driven Framework Development – Part 2

Session 54: Data Driven Framework – Part 3 (1 hour)

  • Creating/Designing Data Driven Framework Development – Part 3

Session 55: Data Driven Framework – Part 4 (1 hour)

  • Creating/Designing Data Driven Framework Development – Part 4

Session 56: Data Driven Framework – Part 5 (1 hour)

  • Creating/Designing Data Driven Framework Development – Part 5

Session 57: Data Driven Framework – Part 6 (1 hour 30 minutes)

  • Creating/Designing Data Driven Framework Development – Part 6

Session 58: Cucumber and BDD – Part 1 (1 hour)

  • Cucumber and BDD – Introduction
  • What is Behaviour Driven Development?
  • What is Cucumber?

Session 59: Cucumber and BDD – Part 2 (1 hour 20 minutes)

  • Installing Cucubmer Eclipse Plugin
  • Creating Maven Project and configuring it with Cucumber and Selenium
  • Creating Feature File
  • Creating Step Definitions Class
  • Creating Runner Class and executing the Feature Files
  • Insalling ansi-escape-console

Session 60: Cucumber and BDD – Part 3 (1 hour)

  • Providing Description in Feature File
  • Scenario versus Scenario Outline
  • Understanding Scenario Outline and Examples keywords
  • Parameterizing the tests in Feature File and implementing step definitions
  • Executing the feature files independently

Session 61: Cucumber and BDD – Part 4 (1 hour)

  • Regular Expressions
  • Backgournd keyword
  • Generating reports in Cucumber

Session 62: Cucumber and BDD – Part 5 (1 hour)

  • Organizing Feature files, Step Definition files and Runner class
  • Using Tags
  • Different types of Tags – Default and Custom Tags

Session 63: Cucumber and BDD – Part 6 (1 hour and 30 minutes)

  • Cucumber – Comments
  • Cucubmer Options – Using monochrome attribute
  • Cucumber Options – pretty
  • Hooks – @Before and @After
  • Tagged Hooks
  • Cucumber – Using Assertions
  • Cucumber – Data Tables

Session 64: Page Object Model and Page Factory – Part 1 (1 hour and 30 minutes)

  • About Page Object Model Design pattern
  • Advantages of Page Object Model
  • About Page Factory Design Pattern
  • Creating the Framework using the Design patterns – Part 1

Session 65: Page Object Model and Page Factory – Part 2 (1 hour)

  • Creating the Framework using the Design patterns – Part 2

Happy Learning  🙂

Arun Motoori (www.qafox.com)