Table of Contents
1: Introduction to the Course ....................................................................................................................... 6
2: What is Selenium? .................................................................................................................................... 6
   What is Selenium? .................................................................................................................................... 6
   What is an API? ......................................................................................................................................... 6
   Understanding Selenium as an API ........................................................................................................... 6
   Scope and Conclusion ............................................................................................................................... 6
3: CORE JAVA in Depth for Manual Testers and Beginners .......................................................................... 6
   Introduction to Core Java.......................................................................................................................... 6
   Classes and Objects ................................................................................................................................... 6
   Basic Java programming and features ...................................................................................................... 6
   Java Methods ............................................................................................................................................ 6
   Java Methods - PreDefined Methods and Math.Random() ...................................................................... 6
   Java Methods - Static and Non Static Methods ........................................................................................ 6
   IF and Else Statements .............................................................................................................................. 6
   Loops - While Loop.................................................................................................................................... 6
   Loops - Do While Loop .............................................................................................................................. 6
   Loops - For Loop ........................................................................................................................................ 6
   Loops - Nested Loops ................................................................................................................................ 6
   Loops - Break and Continue statements ................................................................................................... 6
   Arrays and Methods.................................................................................................................................. 6
   Exception Handling ................................................................................................................................... 6
   Packages and Access Modifiers................................................................................................................. 6
   OOPS - Encapsulation................................................................................................................................ 6
   OOPS - Inheritance .................................................................................................................................... 6
   OOPS - Polymorphism - OverLoading ....................................................................................................... 6
   OOPS - Polymorphism - Overriding ........................................................................................................... 6
   OOPS - Polymorphism - Overriding benefits and drawbacks ................................................................... 6
   OOPS - Abstract classes............................................................................................................................. 6
   OOPS - Interfaces ...................................................................................................................................... 6
   Reading Properties files ............................................................................................................................ 6
   Java Streams - Writing in TXT and CSV files .............................................................................................. 7
   Java Stream - Writing HTML Files and Reading files ................................................................................. 7
   Java Stream - Apache POI Creating and Writing Excel Files...................................................................... 7
   Java Stream - Apache POI Reading Excel Files, Extended Loops............................................................... 7
   POI JARS .................................................................................................................................................... 7
   Reading Notepad file ................................................................................................................................ 7
   Collections - Wrapper Classes, Autoboxing and Unboxing ....................................................................... 7
   Collections - ArrayList ............................................................................................................................... 7
   Collections - HashSet ................................................................................................................................ 7
   Collections - HashMap .............................................................................................................................. 7
   Reflection API ............................................................................................................................................ 7
   Code from Access Modifiers, OOPS, Collection API, Reflection API lectures ........................................... 7
   Difference between == & equal to operator and Singleton design pattern ............................................. 7
   Apache Log4J API - Console & File Appenders .......................................................................................... 7
   Apache Log4J API - SMTPAppender .......................................................................................................... 7
   Apache Log4J API HTMLAppender .......................................................................................................... 7
   Apache Log4j API - Project code ............................................................................................................... 7
4: Selenium Configuration ............................................................................................................................ 7
   Prerequsite and configuring Java .............................................................................................................. 7
   Downloading and Configuring latest Eclipse IDE ...................................................................................... 7
   Configuring Latest Selenium API ............................................................................................................... 7
   Getting started with Selenium and configure Firefox browser ................................................................ 7
   Configuring Chrome Browser.................................................................................................................... 7
   Configuring IE and Edge browser .............................................................................................................. 7
   Configuring Safari and Opera browser ..................................................................................................... 7
   Download and Configure Maven .............................................................................................................. 7
   Managing Dependencies........................................................................................................................... 7
   Managing Executable files through WebDriverManager Class ................................................................ 7
5: Selenium 3.0 WebDriver Basics ................................................................................................................ 7
   WebDriver Basics and Reading Javadocs .................................................................................................. 7
   Understanding the WebDriver Architecture............................................................................................. 7
   Finding Elements ....................................................................................................................................... 7
6: Syncronization - ImplicitWait, ExplicitWait & FluentWait ........................................................................ 8
   Syncronization - Implicit Wait ................................................................................................................... 8
   Syncronization - Explicit Wait ................................................................................................................... 8
   Syncronization - Fluent Wait ..................................................................................................................... 8
   Syncronization - Fluent Wait - Removing Deprecation warnings ............................................................. 8
7: Finding Multiple and Complex Elements strategies ................................................................................. 8
   Select Class - Handling Dropdown list....................................................................................................... 8
   Handling Multiple Elements from the Dropdown list ............................................................................... 8
   Printing All links from the Webpage ......................................................................................................... 8
   isElementPresent, isDisplayed, isEnabled, isSelected .............................................................................. 8
   Handling Checkboxes and Multiple Elements........................................................................................... 8
   Handling WebTables ................................................................................................................................. 8
8: XPATH VS CSS locators in Depth ............................................................................................................... 8
   Learn Xpath in Depth ................................................................................................................................ 8
   Learn CSS in Depth .................................................................................................................................... 8
9: Selenium 3 - WebDriver Advance Features .............................................................................................. 8
   ACTIONS API - Handling MouseOver events ............................................................................................. 8
   ACTIONS API - Handling JQuery Sliders..................................................................................................... 8
   ACTIONS API - Handling Resizable Elements ............................................................................................ 8
   ACTIONS API - Handling Drag and Drop Elements .................................................................................... 8
   ACTIONS API - Right clicking an Element .................................................................................................. 8
   ACTIONS API - Handling KeyBoard Events ................................................................................................ 8
   SwitchTo - Javascript Alerts ...................................................................................................................... 8
   SwitchTo - Iframes .................................................................................................................................... 8
   SwitchTo - New Windows - Handling Tabs and Popups ........................................................................... 8
   JavaScriptExecutor - Calling and Injecting Javascript functions................................................................ 8
10: SCREENSHOT UTILITY - Using WebDriver and AShot API........................................................................ 8
   Capture Screenshot with TimeStamp ....................................................................................................... 8
   Capturing Particular Element Screenshot ................................................................................................. 8
   Using AShot API to Capture FullScreen and Particular Element Screenshot ............................................ 8
11: TESTNG FRAMEWORK - Basics ................................................................................................................ 9
   Introduction to TestNG and Configuring Eclipse plugin............................................................................ 9
   Creating the First Test Case ...................................................................................................................... 9
   Adding Assertions and Reporting Failures ................................................................................................ 9
   SoftAssertions and Reporting Multiple failures ........................................................................................ 9
   Creating Test Dependencies ..................................................................................................................... 9
   Creating Test Suite .................................................................................................................................... 9
   Managing Multiple Test Suites ................................................................................................................. 9
   Test Groups ............................................................................................................................................... 9
   TestNG Listeners ....................................................................................................................................... 9
   Forcefully Skipping a Test Case ................................................................................................................. 9
   Adding Before and After Suite annotations .............................................................................................. 9
12: TESTNG FRAMEWORK - Creating Interactive Reports ............................................................................ 9
   TestNG Report........................................................................................................................................... 9
   ReportNG .................................................................................................................................................. 9
13: TESTNG FRAMEWORK - Parameterization .............................................................................................. 9
   Understanding Parameterization through DataProviders ........................................................................ 9
   TestNG Parameterization Excel Reading................................................................................................... 9
   TestNG Parameterization Excel Reading with Hashtable ......................................................................... 9
   Handling Multiple Data Providers ............................................................................................................. 9
   Reading Parameters from TestNG.xml file ............................................................................................... 9
14: TESTNG FRAMEWORK - Advance Topics................................................................................................. 9
   Running Parallel Test using TestNG.xml file ............................................................................................. 9
   Running Parallel Test using DataProvider ................................................................................................. 9
   InvocationCount and ThreadPoolSize ....................................................................................................... 9
   OnTestFailure - CaptureScreenshots ........................................................................................................ 9
   OnFinish - Zip file and send Automated mails .......................................................................................... 9
   Retry Listener to Re-Run Failed Test Cases............................................................................................... 9
   Retry Listener to Re-Run Failed Test Cases - Code ................................................................................... 9
   Retry Listener to Re-Run Failed Test Cases - Code with WebDriver Example .......................................... 9
15: SELENIUM GRID - PARALLEL EXECUTION .............................................................................................. 10
   Introduction to Selenium Grid ................................................................................................................ 10
   Configuring nodes & hub ........................................................................................................................ 10
   Running Test on Multiple browsers & Nodes ......................................................................................... 10
   Grid Json configuration ........................................................................................................................... 10
   Latest Selenium GRID 3 Configuration and Updates .............................................................................. 10
   Latest Selenium Grid 3 - Running Parallel Test through TestNG XML Parameters ................................. 10
   Latest Selenium Grid 3 - Running Parallel Test through Data Provider .................................................. 10
   Latest Selenium Grid 3 - Fixing the Parallel test execution by MultiThreading ...................................... 10
   Grid files for download ........................................................................................................................... 10
16: Page Object Model Framework, Jenkins and CD/CI ............................................................................. 10
   Data Driven Framework .......................................................................................................................... 10
   Data Driven, Setting up Maven for build ................................................................................................ 10
   Jenkins for scheduling jobs on AWS........................................................................................................ 10
   Page Object Model Framework .............................................................................................................. 10
17: Appium The Mobile Automation .......................................................................................................... 10
   Introduction to Appium and Prerequisite ............................................................................................... 10
   Implict and Explicit Wait, Handling Dynamic Xpaths, Appium Pre-requisite.......................................... 10
   Appium installation (Partially recorded due to webinar issue) .............................................................. 10
   Test WebApp, Deploying app, Starting server through code ................................................................. 10
18: APPIUM Installation .............................................................................................................................. 11
   Introduction to Appium .......................................................................................................................... 11
   Appium installation on MAC OSX............................................................................................................ 11
   Appium installation on Windows ............................................................................................................ 11
   Adding Appium Dependencies................................................................................................................ 11
   Tapping an Element on a Real Device ..................................................................................................... 11
   Swipe - Searching Phonebook Contacts.................................................................................................. 11
   Deploying IOS Apps on Real device......................................................................................................... 11
19: DATABASE TESTING............................................................................................................................... 11
   Introduction to Database Testing ........................................................................................................... 11
   Database JDBC Connectivity ................................................................................................................... 11
20: SVN - Configuration Management ........................................................................................................ 11
   Introduction to SVN ................................................................................................................................ 11
1: Introduction to the Course
2: What is Selenium?
     What is Selenium?
     What is an API?
     Understanding Selenium as an API
     Scope and Conclusion
3: CORE JAVA in Depth for Manual Testers and Beginners
     Introduction to Core Java
     Classes and Objects
     Basic Java programming and features
     Java Methods
     Java Methods - PreDefined Methods and Math.Random()
     Java Methods - Static and Non Static Methods
     IF and Else Statements
     Loops - While Loop
     Loops - Do While Loop
     Loops - For Loop
     Loops - Nested Loops
     Loops - Break and Continue statements
     Arrays and Methods
     Exception Handling
     Packages and Access Modifiers
     OOPS - Encapsulation
     OOPS - Inheritance
     OOPS - Polymorphism - OverLoading
     OOPS - Polymorphism - Overriding
     OOPS - Polymorphism - Overriding benefits and drawbacks
     OOPS - Abstract classes
     OOPS - Interfaces
     Reading Properties files
     Java Streams - Writing in TXT and CSV files
     Java Stream - Writing HTML Files and Reading files
     Java Stream - Apache POI Creating and Writing Excel Files
     Java Stream - Apache POI Reading Excel Files, Extended Loops
     POI JARS
     Reading Notepad file
     Collections - Wrapper Classes, Autoboxing and Unboxing
     Collections - ArrayList
     Collections - HashSet
     Collections - HashMap
     Reflection API
     Code from Access Modifiers, OOPS, Collection API, Reflection API lectures
     Difference between == & equal to operator and Singleton design pattern
     Apache Log4J API - Console & File Appenders
     Apache Log4J API - SMTPAppender
     Apache Log4J API HTMLAppender
     Apache Log4j API - Project code
4: Selenium Configuration
     Prerequsite and configuring Java
     Downloading and Configuring latest Eclipse IDE
     Configuring Latest Selenium API
     Getting started with Selenium and configure Firefox browser
     Configuring Chrome Browser
     Configuring IE and Edge browser
     Configuring Safari and Opera browser
     Download and Configure Maven
     Managing Dependencies
     Managing Executable files through WebDriverManager Class
5: Selenium 3.0 WebDriver Basics
     WebDriver Basics and Reading Javadocs
     Understanding the WebDriver Architecture
     Finding Elements
6: Syncronization - ImplicitWait, ExplicitWait & FluentWait
     Syncronization - Implicit Wait
     Syncronization - Explicit Wait
     Syncronization - Fluent Wait
     Syncronization - Fluent Wait - Removing Deprecation warnings
7: Finding Multiple and Complex Elements strategies
     Select Class - Handling Dropdown list
     Handling Multiple Elements from the Dropdown list
     Printing All links from the Webpage
     isElementPresent, isDisplayed, isEnabled, isSelected
     Handling Checkboxes and Multiple Elements
     Handling WebTables
8: XPATH VS CSS locators in Depth
     Learn Xpath in Depth
     Learn CSS in Depth
9: Selenium 3 - WebDriver Advance Features
     ACTIONS API - Handling MouseOver events
     ACTIONS API - Handling JQuery Sliders
     ACTIONS API - Handling Resizable Elements
     ACTIONS API - Handling Drag and Drop Elements
     ACTIONS API - Right clicking an Element
     ACTIONS API - Handling KeyBoard Events
     SwitchTo - Javascript Alerts
     SwitchTo - Iframes
     SwitchTo - New Windows - Handling Tabs and Popups
     JavaScriptExecutor - Calling and Injecting Javascript functions
10: SCREENSHOT UTILITY - Using WebDriver and AShot API
     Capture Screenshot with TimeStamp
     Capturing Particular Element Screenshot
     Using AShot API to Capture FullScreen and Particular Element Screenshot
11: TESTNG FRAMEWORK - Basics
     Introduction to TestNG and Configuring Eclipse plugin
     Creating the First Test Case
     Adding Assertions and Reporting Failures
     SoftAssertions and Reporting Multiple failures
     Creating Test Dependencies
     Creating Test Suite
     Managing Multiple Test Suites
     Test Groups
     TestNG Listeners
     Forcefully Skipping a Test Case
     Adding Before and After Suite annotations
12: TESTNG FRAMEWORK - Creating Interactive Reports
     TestNG Report
     ReportNG
13: TESTNG FRAMEWORK - Parameterization
     Understanding Parameterization through DataProviders
     TestNG Parameterization Excel Reading
     TestNG Parameterization Excel Reading with Hashtable
     Handling Multiple Data Providers
     Reading Parameters from TestNG.xml file
14: TESTNG FRAMEWORK - Advance Topics
     Running Parallel Test using TestNG.xml file
     Running Parallel Test using DataProvider
     InvocationCount and ThreadPoolSize
     OnTestFailure - CaptureScreenshots
     OnFinish - Zip file and send Automated mails
     Retry Listener to Re-Run Failed Test Cases
     Retry Listener to Re-Run Failed Test Cases - Code
     Retry Listener to Re-Run Failed Test Cases - Code with WebDriver Example
15: SELENIUM GRID - PARALLEL EXECUTION
     Introduction to Selenium Grid
     Configuring nodes & hub
     Running Test on Multiple browsers & Nodes
     Grid Json configuration
     Latest Selenium GRID 3 Configuration and Updates
     Latest Selenium Grid 3 - Running Parallel Test through TestNG XML Parameters
     Latest Selenium Grid 3 - Running Parallel Test through Data Provider
     Latest Selenium Grid 3 - Fixing the Parallel test execution by MultiThreading
     Grid files for download
16: Page Object Model Framework, Jenkins and CD/CI
     Data Driven Framework
     Data Driven, Setting up Maven for build
     Jenkins for scheduling jobs on AWS
     Page Object Model Framework
17: Appium The Mobile Automation
     Introduction to Appium and Prerequisite
     Implict and Explicit Wait, Handling Dynamic Xpaths, Appium Pre-requisite
     Appium installation (Partially recorded due to webinar issue)
     Test WebApp, Deploying app, Starting server through code
18: APPIUM Installation
     Introduction to Appium
     Appium installation on MAC OSX
     Appium installation on Windows
     Adding Appium Dependencies
     Tapping an Element on a Real Device
     Swipe - Searching Phonebook Contacts
     Deploying IOS Apps on Real device
19: DATABASE TESTING
     Introduction to Database Testing
     Database JDBC Connectivity
20: SVN - Configuration Management
     Introduction to SVN