Learn Selenium with Java, Cucumber & Frameworks
- Descrição
- Currículo
- FAQ
- Revisões
Master Selenium Automation Testing with Java from scratch! This comprehensive course covers Java programming, Selenium WebDriver, TestNG, Cucumber BDD, Selenium Grid, Docker, and automation framework development. Learn industry best practices and real-world test automation techniques.
The course is structured around several modules, covering essential topics such as:
Module-1: Overview on Automation & Selenium
-
Introduction to Automation
-
Challenges in Manual Testing
-
Overcoming Challenges with Automation
-
Importance of Programming in Automation
-
Introduction to Selenium
-
Selenium Components
-
Advantages and Disadvantages of Selenium WebDriver
Module-2: Java Programming for Selenium
-
Java and Eclipse Environment Setup
-
Setting up Java Development Kit (JDK)
-
Installing Eclipse IDE
-
Configuring Java and Eclipse Environment
-
-
How to Write Basic Java Program?
-
Creating a Java Class
-
Main Method in Java
-
Writing the First Java Program
-
Compiling and Running Java Programs
-
-
Understanding Console Output
-
Using System.out.println() for Output
-
Printing Variables and Text to Console
-
-
Java Variables and Data Types
-
Declaring Variables in Java
-
Primitive Data Types (int, float, double, char, boolean)
-
Variable Naming Conventions
-
-
Java Operators
-
Arithmetic Operators
-
Relational Operators
-
Logical Operators
-
Assignment Operators
-
Increment and Decrement Operators
-
Ternary Operators
-
-
Conditional Statements
-
If Statement
-
If-Else Statement
-
Switch-Case Statement
-
-
Loops
-
While Loop
-
Do-While Loop
-
For Loop
-
-
Jumping Statements
-
Using break Statement
-
Using continue Statement
-
-
Arrays – Single & Two Dimensional
-
Declaring and Initializing Arrays
-
Accessing Array Elements
-
Single-Dimensional Arrays
-
Two-Dimensional Arrays
-
Object Type Array
-
Coding Exercises on Arrays
-
-
String Class
-
Introduction to the String Class
-
-
String Methods
-
Common String Methods
-
Coding Exercises on Strings
-
-
Wrapper Classes
-
Primitive Data Types vs Wrapper Classes
-
Autoboxing and Unboxing
-
Module 3: Java OOPS Concepts
-
Classes and Objects
-
Introduction to Classes and Objects
-
Creating Classes
-
Declaring Object Instances
-
Class Members: Fields and Methods
-
-
Java Methods & Constructors
-
Defining Methods
-
Method Signatures
-
Return Types
-
-
Passing Parameters to Methods
-
Passing Parameters
-
Call by Value
-
Call by Reference (Reference Passing)
-
-
Java Constructor
-
Constructor Basics
-
Parameterized Constructors
-
Default Constructors
-
-
Polymorphism
-
Introduction to Polymorphism
-
-
Overloading Methods
-
Method Overloading
-
Overloading with Different Parameter Types
-
Overloading with Different Number of Parameters
-
-
Overloading Constructors
-
Constructor Overloading
-
Creating Constructors with Different Parameters
-
-
Encapsulation
-
Encapsulation Overview
-
-
Setters and Getters
-
Purpose of Setters and Getters
-
Encapsulation with Setters and Getters
-
-
this Keyword
-
Understanding the this Keyword
-
Using this to Differentiate Instance and Local Variables
-
-
Static Variables and Methods
-
Static Variables
-
Static Methods
-
Accessing Static Members
-
-
Inheritance
-
Basics of Inheritance
-
Extending Classes
-
Superclass and Subclass
-
-
Types of Inheritance
-
Single Inheritance
-
Multiple Inheritance
-
Multilevel Inheritance
-
Hierarchical Inheritance
-
-
Method Overriding
-
Overriding Methods in Subclasses
-
Use of @Override Annotation
-
-
super Keyword
-
Using super to Access Superclass Members
-
Invoking Superclass Methods
-
-
final Keyword
-
Final Variables
-
Final Methods
-
Final Classes
-
-
Abstract Class
-
Abstract Class Overview
-
Abstract Methods
-
Creating Abstract Classes
-
-
Java Interface
-
Introduction to Interfaces
-
Implementing Interfaces
-
Multiple Interface Implementation
-
-
Java Packages
-
Organizing Code with Packages
-
Creating and Using Packages
-
-
Access Modifiers
-
Public, Private, Protected, Default Access Modifiers
-
Access Modifier Scope
-
-
Data Conversion Functions
-
Converting Data Types
-
Casting – Up Casting and Down casting
-
-
Reading Input from Keyboard
-
Using Scanner Class for Input
-
-
Exception Handling
-
Introduction to Exception Handling
-
Try, Catch, Finally Blocks
-
Types of Exceptions
-
-
Java Collections
-
Overview of Java Collections Framework
-
Lists, Sets, Maps
-
Iterators
-
Collections Methods
-
-
File Handling
-
Handle text files
-
Handle properties files
-
Module-4: Selenium WebDriver (Latest Version)
-
Introduction to WebDriver and Architecture
-
Overview of Selenium WebDriver
-
Architecture of Selenium WebDriver
-
-
Environment Setup & WebDriver Configuration
-
Setting up WebDriver in Eclipse
-
Configuring WebDriver for Different Browsers
-
-
How to Create Automated Test Case in WebDriver?
-
Setting Up a Basic Test Case Structure
-
Writing and Running Simple WebDriver Test Cases
-
-
Execute Test Case on Multiple Browsers
-
Cross-Browser Testing
-
Running Tests on Different Browsers
-
-
Understanding HTML Tags and Attributes
-
HTML Basics for Selenium Testers
-
Locating Elements Using HTML Tags and Attributes
-
-
Basic Locators
-
Name Locator
-
ID Locator
-
LinkText Locator
-
PartialLinkText Locator
-
-
Advanced Locators
-
CSS Locators
-
XPath Locators
-
XPath Axes
-
-
Relative Locators
-
.above, .below, .toLeftOf, .toRightOf, .near
-
-
How to Use SelectorsHub & Features of Selectors Hub
-
Overview of SelectorsHub
-
Features and Benefits
-
-
WebDriver Methods
-
Opening Page URL
-
Verifying Page Title
-
Getting Page Source
-
Getting Page URL
-
Conditional Methods
-
Visibility of WebElements
-
Enable/Disable Status of Web Elements
-
-
-
Waits
-
Implicit Waits
-
Explicit Waits
-
Fluent Waits
-
Page Load Time
-
-
Navigation Methods
-
Navigating Back & Forward
-
Refreshing Page
-
-
Browser Commands
-
close() and quit()
-
getWindowHandle() and getWindowHandles()
-
-
Working with Web Elements
-
Handling Input Boxes
-
Handling Checkboxes & Radio Buttons
-
Handling Links
-
-
Handling Alerts/Popups
-
Handling Alert Boxes
-
Handling Confirmation Boxes
-
Handling Prompt Boxes
-
-
Working with Browser Windows
-
Switching Between Browser Windows
-
Handling Tabs and Windows
-
-
Handling Iframes & Inner Iframes
-
Switching to Iframes
-
Working with Nested Iframes
-
-
Handling Drop Downs
-
Select type Drop down
-
Bootstrap Drop Downs
-
Multi Select Drop Down
-
Auto Suggest Drop Down
-
-
Handling Static & Dynamic Web Tables
-
Strategies for Handling Tables
-
Handling Static Tables
-
Handling Dynamic Tables
-
Pagination Tables
-
-
Handling Date Pickers
-
Strategies for Handling Date Pickers
-
-
Handle SVG & ShadowDOM Elements
-
Handle Cookies
-
Handle Broken Links
-
Handling Mouse Actions
-
Using Actions Class
-
Right Click, Double Click, Mouse Over
-
Drag and Drop Actions
-
-
Handling Keyboard Actions and Shortcuts
-
Using Actions Class for Keyboard Actions
-
-
Working with JavascriptExecutor
-
Executing JavaScript Code in Selenium
-
-
Scrolling Web Page
-
Scrolling Up and Down the Page
-
-
Zoom In & Zoom Out, Maximize, Minimize Web Page
-
Managing Browser Window Size
-
-
Opening Links in New Tab
-
Handling New Tabs
-
-
Working with Tabs and Windows
-
Switching Between Tabs and Windows
-
-
Capturing Screenshots
-
Taking Screenshots in Selenium
-
-
Headless Browser Testing
-
Overview of Headless Testing
-
Advantages and Disadvantages
-
-
SSL Certificate Handling
-
Handling SSL Certificates
-
-
Browser Settings with ChromeOptions
-
Customizing Chrome Browser Settings
-
-
Enable Extensions on Browser at Runtime
-
Managing Browser Extensions
-
-
Blocking Ads on WebPage at Runtime
-
Blocking Ads Using WebDriver
-
-
Run Tests in Incognito Mode
-
Running Tests in Incognito/Private Mode
-
-
How to Handle Upload Files (Single and Multiple)
-
Uploading Files in Selenium
-
-
Handling Broken Links
-
What is Broken link?
-
How to find Broken links in web page
-
-
Handling shadowDOM, SVG Elements
-
Strategies for Handling shadowDOM and SVG Elements
-
-
Selenium WebDriver Exceptions
-
Working with Excel Files Using Apache POI API
-
Reading and Writing Excel Files
-
-
Data-Driven Testing
-
Strategies for Data-Driven Testing
-
Implementing Data-Driven Tests in Selenium
-
-
Selenium WebDriver Exceptions
Module-5: TestNG
-
Introduction to TestNG and Advantages
-
Overview of TestNG
-
Advantages of TestNG over JUnit
-
TestNG Features
-
-
Configuring TestNG in Project
-
Setting up TestNG in Eclipse or IntelliJ
-
Configuring TestNG Dependencies in the Project
-
-
Writing TestNG Test Cases
-
Basics of Writing TestNG Test Cases
-
Annotations in TestNG
-
-
Prioritizing Tests
-
Setting Test Case Priority
-
Running Tests in Priority Order
-
-
Understanding Testng.xml
-
Structure of TestNG XML File
-
Configuring Test Suites and Test Cases
-
-
TestNG Report
-
TestNG HTML Reports
-
Viewing and Analyzing TestNG Reports
-
-
TestNG Annotations
-
@BeforeSuite, @AfterSuite
-
@BeforeTest, @AfterTest
-
@BeforeClass, @AfterClass
-
@BeforeMethod, @AfterMethod
-
@Test Annotation
-
-
Types of Assertions (Hard and Soft Assertions)
-
Using Hard Assertions in TestNG
-
Using Soft Assertions in TestNG
-
-
dependsOnMethods
-
Defining Dependencies Between Test Methods
-
Ensuring Test Methods Run in a Specific Order
-
-
Skipping and Ignoring Tests
-
Skipping Tests in TestNG
-
Ignoring Tests in TestNG
-
-
Grouping Tests
-
Grouping Tests in TestNG
-
Running Tests by Groups
-
-
Parameterizing Tests (XML File, DataProviders)
-
Parameterizing Tests Using TestNG XML File
-
Parameterizing Tests Using DataProviders
-
-
@DataProvider
-
Understanding @DataProvider Annotation
-
Providing Test Data to Test Methods
-
-
Invocation Count
-
Repeating Test Execution with Invocation Count
-
-
Parallel Testing
-
Running Tests in Parallel
-
Configuring Parallel Execution in TestNG
-
-
TestNG Listeners
-
Overview of TestNG Listeners
-
Implementing Listeners in TestNG
-
Types of TestNG Listeners (e.g., ITestListener, IAnnotationTransformer)
-
Generate Extent Reports using Listeners
-
Module-6: Page Object Model Pattern
-
Generating Extent Reports
-
Log4j2 for Logging
-
Page Object Model (POM) Pattern
-
Creating Page Object Classes without Page Factory
-
Creating Page Object Classes using Page Factory
-
@FindBy annotation
Module-7: Selenium Grid
-
Introduction to Selenium Grid
-
Setting Up Grid Environment (Stand Alone, Hub with Nodes)
-
Running Selenium Tests on Grid
Module-8: Docker
-
What is Docker
-
What is Docker Image
-
What is Docker Container
-
How to create account on Docker Hub
-
Download Images from Docker Hub
-
Docker UI Application
-
Selenium Grid Configuration on Docker Hub
-
Run your test cases on Dockerized Selenium Grid
-
Setup Infrastructure using Docker Compose yml
-
Scale up the browsers at the run time
-
Shut down the Docker Infrastructure
Module-9: Introduction to Automation Frameworks
-
Introduction to Automation Frameworks
-
Types of Frameworks
-
Phases in Designing Framework
-
Choosing Test Cases for Automation
Module-10: Hybrid Framework with POM (Page Object Model) – Project
-
Creating Maven Project and update pom.xml with dependencies
-
Creating Folder Structure
-
Creating Page Objects and Object Repository
-
Creating Utility files
-
Generating Extent Reports
-
Generating Allure Reports
-
Generating Logs using Log4j2
-
Setting Up Configuration Files
-
Creating Automation Test Cases
-
Creating Data-Driven Test Cases
-
Creating Database Test Cases
-
Executing Test Scripts using TestNG XML File
-
Emailing Test Reports
-
Executing Test Scripts through Command Line
-
Executing Test Scripts using Batch File
-
Executing Test Scripts on Selenium Grid
-
Executing Script on Docker Container
Module-11: Cucumber BDD Framework
-
Introduction to BDD and Cucumber
-
Gherkin Language Keywords
-
Feature Files
-
Step Definitions
-
TestRunner Class
-
Data Tables and Scenario Outline
-
Tags, Background
-
Cucumber Hooks
-
Cucumber Reports
-
Cucumber Extent Reports
-
Cucumber Allure Reports
Module-12: CI & CD Concepts( Git, Github & Jenkins)
-
Version Control System Overview
-
Git and GitHub
-
Git Commands
-
Continuous Integration (CI) and Continuous Delivery (CD)
-
Jenkins Overview
-
Maven Integration with Jenkins
-
Running Selenium Tests through Jenkins
-
Creating CI/CD Pipelines -Declarative & scripted
-
Scheduling Jobs
-
Cron patterns
Module-13: How to use ChatGPT in Automation
-
What is AI, ChatGPT & Google Gemini
-
What is Prompting?
-
How to Create prompts?
-
Frequently used Prompts in Software Testing
-
How to use use ChatGPT in Automation
Module-14: Resume Preparation and Guidance
-
Guidance in Resume Preparation
-
Realtime Interview Questions & Answers
-
2Environment Setup for Java & EclipseVídeo Aula
Setup Environment
-
3Variables & Data Types in JavaVídeo Aula
Variables
Java Data Types
-
4Java OperatorsVídeo Aula
types of operators in java
-
5Java Conditional StatementsVídeo Aula
conditional statements
if
if else
nested if else
switch case
-
6Java LoopsVídeo Aula
Loops /Iterative Statements
Jump Statements
-
7Java Arrays (Part 1)Vídeo Aula
Java Arrays
Single dimensional
Two/multi dimensional
-
8Java Arrays (Part-2)Vídeo Aula
1) Seaching an element in array
2) Find how many times a number is repeated..
3) Find number of even's and odd's in array
4) Sort elements in array
5) Reverse an array
-
9Working with Strings in Java (Part-1)Vídeo Aula
String operations
-
10Working with Strings in Java (Part-2)Vídeo Aula
String Mutability
String comparison( Difference between == & equals() Method)
String Reverse
String vs StringBuffer Vs StrignBuilder
-
11Java OOPS Concepts, Class, Object, MethodsVídeo Aula
Java Object Oriented Concepts
Java Classes
Working with Objects
-
12Java Methods and ConstructorsVídeo Aula
Java methods
Java constructors
-
13Polymorphism - Method Overloading and Constructor OverloadingVídeo Aula
Call by value
Call by reference
Polymorphism
Overloading
-
14Encapsulation, Setters & getters, static keywordVídeo Aula
Encapsulation
usage of static keyword
-
15Inheritance, Types of InheritanceVídeo Aula
Java Inheritance
Types of Inheritance
-
16Method Overriding, super keyword, final keywordVídeo Aula
Method Overriding
Overriding Vs Overloading
super keyword
final keyword
-
17Data Abstraction - Interface and Abstract ClassVídeo Aula
Data Abstraction - Java interface
Interface Vs Abstract class
-
18Data Conversion, Wrapper Classes & Java PackagesVídeo Aula
Data Conversion Methods
Wrapper classes
Java packages
-
19Type casting concept - Up casting & Down castingVídeo Aula
Type Casting in java
-
20Exception Handling in JavaVídeo Aula
Exception Handling
-
21Java CollectionsVídeo Aula
ArrayList
HashSet
HashMap
-
22Introduction to WebDriver & Setting up WebDriver EnvironmentVídeo Aula
Setting up Environment
-
23Selenium Locators - ID, Name, LinkText, Partial LinkText, TagNameVídeo Aula
Locators in Selenium
name
id
LinkText
Partial Link Text
-
24Selenium Locators - CSS SelectorVídeo Aula
CSS Selector
-
25Selenium Locators - XPathVídeo Aula
XPath locator
-
26Selenium Locators - XPath AxesVídeo Aula
XPath Axes
-
27WebDriver Methods - Get methods, Conditional methods & Browser methodsVídeo Aula
get commands
Conditional Commands
Browser commands
-
28WebDriver Methods - Different types of WaitsVídeo Aula
wait methods in selenium webdriver
-
29WebDriver Methods - Browser Methods and Navigation methodsVídeo Aula
close() and quit() method
Navigational commands
----
navigate().to(url)
navigate().back()
navigate().forward()
navigate().refresh()
Handling browser windows
--------------
getWindowHandle()
getWindowHandles()
-
30Handle Checkboxes & Radio ButtonsVídeo Aula
DropDowns & Checkboxes
-
31Handle Different Types of Alerts & FramesVídeo Aula
Handle Alerts/Popups
-
32Handle Different types of drop downsVídeo Aula
1) select dropdown
2) Bootstrap dropdown
3) hidden drop down
-
33Handle Static Web TableVídeo Aula
Handle Tables
-
34Handle Dynamic & Pagination Web TableVídeo Aula
-
35Handle Date PickersVídeo Aula
-
36Handle Mouse EventsVídeo Aula
Mouse Events
-
37Handle Keyboard Events, Tabs & WindowsVídeo Aula
Keyboard actions
Slider
Handling browser tabs and windows
-
38Handle File Upload,Scrolling Page, JavascriptExecutorVídeo Aula
1) Handle File upload(Single & Multiple)
2) JavascriptExecutor
3) Scrolling page
4) Page Zoomin, Zoomout
-
39Capture screenshots, HandleSSL,Headless browser, Blocking Ads,ChromeExtensionsVídeo Aula
Capture screenshots
Blocking ads
ChromeOptions
Enable extensions
Handle SSL
etc..
-
40Handle Broken Links, Handle SVG Elements & Shadow DOM ElementsVídeo Aula
1) Handle broken links
2) Handle SVG Elements
3) Handle ShadowDOM Elements
-
43Introduction to TestNGVídeo Aula
Introduction to TestNG & Environment Setup
Advantages of TestNG
@Test annotation
Prioritization
TestNG XML file
-
44TestNG Annotations & Types of AssertionsVídeo Aula
TestNG Annotations
Soft Assertions
Hard Assertions
-
45Dependency Methods & GroupingVídeo Aula
Dependency methods
Grouping
-
46Data Providers and Parallel TestingVídeo Aula
DataProviders
Parallel testing
-
47TestNG Listeners & Extent ReportsVídeo Aula
-
49Automation Framework -Session1Vídeo Aula
-
50Automation Framework -Session2Vídeo Aula
-
51Automation Framework -Session3Vídeo Aula
-
52Automation Framework -Session4Vídeo Aula
-
53Automation Framework -Session5Vídeo Aula
-
54Automation Framework -Session6 (Run Tests on Selenium Grid)Vídeo Aula
-
55Automation Framework -Session7( Docker Integration with Selenium Grid)Vídeo Aula