Selenium Training
Selenium is an open-source umbrella project for a range of tools and libraries aimed at supporting web browser automation. Selenium provides a playback tool for authoring functional tests without the need to learn a test scripting language (Selenium IDE). It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming languages, including JavaScript (Node.js), C#, Groovy, Java, Perl, PHP, Python, Ruby and Scala. The tests can then run against most modern web browsers. Selenium runs on Windows, Linux, and macOS. It is open-source software released under the Apache License 2.0.
Program Outline
PROGRAM OUTLINE:
- Selenium Introduction
- Course outcome
- Syllabus walkthrough
- What is Automation Testing?
- Why we need Automation? & how to learn any automation tool?
- Different types of automation approaches.
- What is Selenium? & why WebDriver?
- Selenium Overview Brief history of Selenium
- Features of Selenium
- Advantages and limitations of Selenium
- Selenium Components
- Introduction to Selenium IDE
- Introduction to Selenium RC
- Introduction to Selenium WebDriver
- Introduction to Selenium Grids
- Selenium Architectures
- Setup and Installation
- Java Overview and setup
- Download and Installing Java
- IDE configuration Eclipse and IntelliJ
- Creation of first selenium project
- Run first test in selenium
- Run test on different browsers
- Basic Java
- Write a simple Java program
- Compile and Execute your Java program – Importance of JVM
- Variables and Data Types
- Classes, Objects and methods
- Java operators
- Constructors & Packages
- IF and Else Statements
- Switch Case statement
- Loops - While Loop, Do while loop, for loop, nested loops
- Break and Continue statements
- Packages and Access Modifiers
- String
- Java OOPS Concept
- OOPs Introduction - Encapsulation
- Setter and Getter methods
- Polymorphism
- Polymorphism - Overloading
- Polymorphism - Overriding
- Polymorphism - Overriding benefits and drawbacks
- Inheritance
- Abstraction
- Java Advance Concept
- Constructors and This Keyword
- Super Keyword
- Abstract Class
- Interface
- Difference between Abstract Class and Interface
- Exception Handling in Java
- Checked Exception
- Unchecked Exception
- Error
- Java Collections Part 1
- Collection – Overview
- Collection – Array
- Collection – ArrayList
- Collection – LinkedLists
- Java Collections Part 2
- Collection - HashSet
- Collection – HashMap
- Collection – HashTable
- Java I/O Operations
- Reading Properties files
- Reading and Writing text
- Reading and Writing Excel Sheet
- Element Locator Techniques and Tools to identify Objects
- Significance of locators in selenium
- Identify elements with ID, Name, ClassName, TagName, Linktext
- Understanding of DOM
- Identify elements with Xpath
- Identify elements with CSS path
- Generating customize xpath and CSS path
- Different Browser plugin to locate the element
- Overview of Selectorhub and use
- Launching Different Browser & Navigation Commands
- Launching IE
- IE driver server and path settings
- Launching Chrome
- Chrome server and path settings
- Launching Firefox
- Firefox server and path settings
- How to Open a URL
- Verify Page title
- Strategy to get the Page Source
- Difference between Close & Quit
- Ways to Navigate Back & Forward
- How to Refresh Page
- Another way of Navigating to specific Page
- WebDriver Manager
- Handling Input Text Box and Buttons
- Handle Dropdown, Tables, Checkboxes & Radio buttons
- Handling Input Text Box and Buttons
- Handling Checkboxes, Radio Buttons and Links
- How to scroll down and scroll up
- Identify table rows and columns
- Extracting values from a cell
- Dynamically Identify Tables Data
- Select class in Selenium
- Drop Down Handle
- Select multiple values from the list
- Select & Deselect operations by Index, Value & Visible Text
- Handling Combo Boxes
- Handling Drag and Drop Elements
- Selenium Waits, Alert, iFrame & Switch Windows
- Implicit and Explicit waits
- How to use Expected Conditions with Waits
- PageLoadTimeout & SetScriptTimeout property
- Simple use of Thread Sleep
- Concept of Fluent Wait in Selenium
- Strategy to poll for an objectss
- WebDriverWait and its uses
- Different WaitUntil Conditions
- Ways to handle Simple, Confirmation & Prompt Alert
- Difference between Window Handle & Handles
- Switching & Closing Windows, Tabs & PopUps
- Concept of window ID
- Extracting window IDs with Selenium Object reference
- Handling iFrame
- Handling Calendars
- Action Class, Robot Class, Browser Profile, File Upload and Java Script Executer
- What is Action Class & What can we do with Action Class
- Mouse Hover & Mouse Movement with Action
- Finding Coordinates of a Web Object
- What is Robot Class & What can we do with Robot Class
- What is Java Script Executer?
- Importance and uses of java script executer
- What is Browser Profile
- How to set up FireFox profile
- How to set up IE profile
- HTTP user authentication in Mozilla
- HTTP user authentication in IE
- Certificate handle in Mozilla
- Certificate handle in IE
- TestNG Framework
- TestNG Introduction
- Install TestNG
- TestNG Annotation(TestNG Test,TestNG Test Suite, TestNG Annotations, TestNG Groups, TestNG Dependent Tests, TestNG Reports, TestNG Parameters, TestNG Data-Providers, TestNG Test Priority)
- TestNG Reporter Log
- TestNG Asserts
- TestNG Cross Browser Testing
- TestNG Data Provider with Excel
- TestNG Parallel Execution
- TestNG Listeners
- Retry Failed Tests in TestNG
- Implement IRetryAnalyzer to Retry Failed Test in TestNG Framework
- TestNG Vs Junit
- TestNG Interview Questions
- Logging and Build Tool Maven
- Introduction to Log4J
- Log4j Logging and its advance Usage
- Maven Introduction
- Install Maven in Eclipse IDE
- Install Maven on Windows
- Install Maven on Mac
- How to Create a New Maven Project
- How to Create a New Maven Project in Eclipse
- Configure Selenium Continuous Integration with Maven
- Reporting
- TestNG Basic Report
- Advance Extent Report
- Allure Reports
- GIT and Jenkins
- Introduction to GIT
- Basic Commands
- Project Configuration
- Jenkins Integration
- Jenkins Introduction
- Selenium Integration with Jenkins
- Framework Introduction
- What is Automation Framework
- Features of Automation Framework
- Benefits of using Automation Framework
- Different types of Automation Framework
- What is Data Driven Framework
- What is Modular Driven Framework
- What is Keyword Driven Framework
- What is Hybrid Frameworks
- Project-1 Live Demo Session Part 1
- Page Object Model + Page factory
- Data Driven
- Project-1 Live Demo Session Part 2
- Add TestNG
- Add Maven
- GIT
- Jenkins
- Project-2 Live Demo Session
- Hybrid Framework
- TestNG + Maven + GIT + Jenkins
- Interview Preparation
- Selenium Interview Questions
- TestNG Interview Questions
- Maven, GIT and Jenkins Interview Questions
- Java Interview Questions
- Framework Interview Questions
- Open source/ Free tool
- No OS/ browser demands
- Support for multiple programming languages
- Availability of Frameworks
- Strong presence in the DevOps lifecycle
- Easy integration with other tools
- Parallel & distributed testing
- No dependency on GUI based systems
- Flexibility while designing test cases
- Demand for Selenium testers
- Create a WebDriver session.
- Navigate to a Web page.
- Locate an HTML element on the Web page.
- Perform an action on the located element.
- Assert the performed action did the correct thing.
- Report the result of the assertion.
- End the session.
- Freshers/Professionals looking opportunity in Software testing
- Manual testers who are looking to explore different areas in Software Testing like Database Testing/API Testing & Backend Testing
- BA/ Support or Other IT Professionals looking to start career as Software Tester