What is Automation Testing
Manual Vs Automation
Tools for Automation Testing
Selenium for Experienced, Manual tester and Selenium for Fresher’s- Discussion in detail
Selenium Introduction, Advantage, Limitation, etc.
Java for Selenium
Data Types in Java- Primitive Data Type and Non-Primitive Data Type
Operators-Arithmetic and Logical operators in Java
Looping statement- For loop, while loop, enhanced for loop
Conditional Statement- If, If else, Nested if else, Switch statement
1D-Arrays, 2D Array – Array in Detail
Classes, Object in Java- Bread and Butter of all OOPS programming language
Static vs Non-static –
Access Modifier- Public, Private, Protracted, Default
Inheritance- Single level Inheritance
Constructor- Default constructor and parameterized constructor
Method overloading- Compile time Polymorphism
Constructor overloading- Compile time Polymorphism
Method overriding- Run time Polymorphism
Interface- Core Part in Selenium- WebDriver and WebElement itself is an Interface in Selenium
Abstract Class
String class and usage in Selenium- For Different validation and operation
Collection and Collections- Dynamic data structure and important for the framework and script development
List- ArrayList and LinkedList
Set- HashSet, LinkedHashSet,TreeSet
Map- HashMap, LinkedHashMap, TreeMap
Exception Handling- Handle Java exception
Debugging in Java- How to debug Java application (Must Jave skill)
Packages in Java- How “import statement” works in Java
Selenium Basic
Selenium JSON Wireless Protocol- Selenium API to understand Selenium functionality
Selenium Architecture- Selenium internal architecture
Setting up stage- Install/ Configure Selenium in windows and MAC
Attach JavaDoc for Selenium and read Javadoc & Sourcecode of Selenium
Working with different browser- Chrome, IE, Firefox- Challenges with Each browser and Solution
Browser Navigation commands
WebElement commands
Working with Input box
Working with Radio button and checkbox
Working with dropdown
Working with file uploader
Working with buttons
Working with links
Locators in Selenium
Id, Name , ClassName , XPath, CSS, TagName, LinkText, PartialLinkText,
Program with above locators
Plugin in Chrome and Firefox for XPath
XPath in Details- Basic to Advance
CSS in Details
findElement and findElements method in detail
Finding multiple elements and performing actions and validations
Handling Dynamic WebElement in Selenium
Selenium Intermediate
Handle Calendar- JQuery Calendar, Custom Calendar
Handle Webtable- Traverse Webtable in Forward direction and reverse direction
Data Scrapping in Selenium- Extracting all data from Web
Extract Links and Images and perform validation- Check all link and Images are not broken
Dropdown (advance methods)- get All Option, get All Selected Option.
Handling Bootstrap Dropdown
Handling Angular JS Dropdown
Different kind of Waits in Selenium
PageLoadTimeOut
ImplicitWait
ExplicitWait
FluentWait
Thread.sleep vs Selenium Waits
How to handle all sync issues in Selenium
Switch to commands in Selenium
Handle JavaScript Alert
Handle Custom Alert
Handle Bootstrap Alert
Handle Frames using id, name, Web elements
Handle nested frames
Handle multiple windows/tab
Handle Advertise popup
Handle Random Popup
Handle Complex Gestures in Selenium
Working with Mouse Hover, Right click, Double click, Drag and Drop
Perform Keyboard events
Robot class usage
Difference between Robot Class with Actions Class
Capture screenshot in Selenium
Create method/Utility for screenshot
Append timestamp in Selenium
Working with Windows events (cannot be handled by Selenium)
AutoIT Introduction, Installation
Handle file uploader using AutoIT
Handle windows popup using AutoIT
Headless Browser in Selenium
Chrome Headless, Firefox Headless
Headless Browser advantage and disadvantage
JavaScriptExecutor in Selenium
Scrolling Page
Scrolling into View
Performing many events through
Handle disable Web elements via JavaScriptExecutor
Handle hidden Web elements via JavaScriptExecutor
Selenium Exceptions
How to handle real-time exceptions in Selenium and program for each exception
Desired Capability in Selenium
Customization of Browser settings using ChromeOption, FirefoxOption, IntenetExplorerOption
Selenium Advance
What is Maven and Why Maven Required for Automation
Download and Installing Maven in Windows and plugin in eclipse
Creating first build in Maven
Different Goals in Maven
How to parameterized Maven build
Running maven build from eclipse and from the command prompt
TestNG-UnitTest Framework
TestNG in Details
Advantage of using TestNG
Download and Write the first test script in TestNG
TestNG document understanding
Different annotation usage
How to run the test in sequence manner
How to provide dependency between test cases
How to use assert values and validation
Soft Assert vs Hard Assert
Reports in TestNG
Creating a test suite in TestNG to run multiple test cases
Passing parameter to test via testng.xml file
Logs in TestNG
Cross browser testing in Selenium
Parallel browser testing in Selenium
Reading external files
Reading excel via Apache POI
Reading properties file using properties class
Discussion about Design pattern
Design POM – Page Object Model
Selenium Grid- Introduction to Selenium Grid and Usage
Setting up the hub and node with different configurations
Running the test on different systems using Selenium grid
Running existing Selenium test with different cloud vendors- Integration with Browser Stack
Execution on test with different browsers and device combination.
Framework Definitions
Type of Automation framework, usage, features and myth about the framework
Data Driven Framework from scratch
Hybrid Framework
Creation of framework Skelton
Different component of the framework
Browser Factory Creation
Data Provider- Config and Excel Data Provider- Test Data and config file
Base Class creation and usage
Creation of library and utility
Creating Multiple pages with smart locators
Creating test cases with multiple assertions
Integration with extent report.
Executing scripts from testng
Execution of scripts via Maven build
Jenkins- Git- Github
Creating complete CI for Automated Test
Jenkins CICD Pipeline