Learn Selenium WebDriver with Java, TestNG Framework, Page Object Model, Page Factory Design. Learn Coding From Scratch.
What you will learn
Core Java Programming and Selenium WebDriver Automation
New to coding? No worries. This course covers coding from scratch
Ideal for professionals transitioning to DevOps wanting to get a coding booster
Perfect course for manual testers aspiring to switch into automation world
Creating Automation Framework from Scratch using Page Object Model and Page Factory
Selenium WebDriver Programing from Basic to Advance
Object Oriented Programing (OOPS)
Data Structures in Java
TestNG Framework
Regular Expressions in Java
Element Locating Strategies
Exception Handling in Java
Working with File System in Java
Advanced Java Programming
Selenium WebDriver Basics
Date and Time Operations (Rev. in Java 8)
Locating Elements using XPath
Locating Elements using CSS Selectors
Working with Element Collections
Web Page Data Extraction
Automating DatePickers, WebTables
Page Object Model
Automating Browser Popups
Automating iFrames
Automating JavaScript Alerts
Automating Mouse Actions
Test Synchronization
Instructor Guidance and Query Resolution Support
No PPTs. Programming Oriented Sessions.
Description
New Update: Selenium v.4 New Features Added. See ‘Section 28’ for more details.
This course covers Selenium WebDriver and Java topics in detail from basic to advanced levels. So, if you don’t have prior knowledge of Java, then you can begin with Java Modules. Start going through ‘Selenium WebDriver’ videos after you develop some fluency in Java. Remember, you don’t need to go through all sessions of Java Course before starting with Selenium WebDriver (because it is an in-depth course on Java and will take a while to finish). First 6 Sections of Java should be sufficient to get you ready for learning Selenium WebDriver.
I believe in example-oriented teaching. So, you won’t find any PPTs during the sessions. But, you will find dozens of real time scenarios used to elaborate Java and Selenium WebDriver concepts.
Feel free to post your questions/feedback in the block provided under each session-video. I will make sure all of your queries are addressed. ‘Course Outline’ below will give you an idea about the depth and the overall coverage of this course. If you want to learn any other Selenium WebDriver concept – which is not already covered in this course – then feel free to let me know via Udemy messenger.
Course Outline:
Java Basics
- JDK 10 and Eclipse Installation
- Hello World Java Program
- Primitive Data Types in Java
- ‘var’ keyword in Java 10
- Arithmetic Operators in Java
- Logical and Bitwise Operators in Java
- Relational Operators in Java
- If – Condition in Java
- Nested If – Condition in Java
- For Loop in Java
- Hands-On Exercises on ‘For Loop’
- Nested For Loop in Java
- Hands-On Exercises on ‘Nested For Loop’
- ‘While’ & ‘Do While’ Loop in Java
- Loop ‘Break’ & ‘Continue’ Statements in Java
- String Basics in Java
- String Comparison Operations in Java
- String Search Operations in Java
- String (Cut) Slice Operations in Java
- String Replace Operations in Java
- String Conversion Operations in Java
Object Oriented Programing (OOPS) in Java
- Concept of Classes and Objects in Java
- Hands on exercises on Class and Object
- Methods in Java
- Method Overloading in Java
- Access Specifiers (Access Modifiers) in Java
- Constructor in Java
- Data Encapsulation in Java
- Static Keyword in Java
- Concept of Main Method in Java
- Class and Object Advanced Exercises
- Class Inheritance in Java
- Method Overriding in Java
- Polymorphism in Java
- Super Keyword in Java
- Super Class Constructor in Java
- Protected Access in Java
- Abstraction in Java
- Interfaces in Java (Java Interface)
- Final Keyword in Java
Data Structures in Java
- Arrays in Java
- Array Object in Java
- Enhanced (Modified) For Loop for Array Iteration in Java
- Hands-on Exercises on Array in Java
- 2-Dimensional Arrays in Java
- Hands-on Exercise on 2D Arrays in Java
- Array of Object in Java
- Array List in Java (ArrayList)
- Structure of ArrayList in Java
- Linked List in Java (LinkedList)
- ArrayList vs LinkedList in Java
- List Iterator in Java
- Hash Set in Java
- Linked Hash Set in Java
- Tree Set in Java
- Iterating on Set in Java
- Hash Map in Java
- Tree Map in Java
- Iterating Over Maps in Java
Regular Expressions in Java
- Introduction to RegEx in Java
- Quantifiers in Regular Expressions
- Character Classes in Regular Expressions
- Bracket Expressions
- OR Operator in RegEX
- DOT Operator in RegEX
- Greedy and Lazy Matching
- Hands-on Exercises on Regular Expressions
- Regularizing Number Ranges
Exception Handling in Java
- What is an Exception in Java?
- Error vs Exception in Java
- Checked and Unchecked Exceptions in Java
- Throws Declaration in Java
- Try and Catch Block (Exception Handling) in Java
- ‘Finally’ Block in Java
Date and Time Operations (Revised in Java 8)
- Local Date and Time Operations in Java
- Custom Date and Time Operations in Java
- Future and Past Date Operations in Java
- Future and Past Time Operations in Java
- Date Difference Calculation in Java
- Time Difference Calculation in Java
- DateTime Formatter in Java
Special Classes in Java
- Math Class in Java
- StringBuilder Class in Java
- StringBuilder Methods in Java
- Scanner Class in Java
- Random Class (for creating random numbers) in Java
- UUID Class in Java (for creating universally unique string IDs)
Working with File System in Java
- How to Read a Text File in Java?
- Apache Commons IO
- How to Edit a Text File in Java?
- Hands on Exercises with Text Files in Java
- Copy and Move (Rename) a Text File in Java
- Apache POI Setup
- Reading Excel Data in Java
- Read Excel Data into a 2 D Array in Java
- Write Data in Excel Sheet in Java
- Interview Questions
Selenium WebDriver Basics
- Selenium WebDriver Architecture
- Selenium WebDriver Installation and Setup using Apache Maven
- Chrome Driver Installation and Setup
- Firefox (Gecko) Driver Installation and Setup
- Automating Browser Navigation (Back, Forward, Refresh, NavigateTo)
- Get Page Basic Details (URL, Title etc)
Basics of Element Locating Strategy in Selenium WebDriver
- HTML Basics
- Inspecting Web Elements
- Find Elements By ID and Link Text in Selenium WebDriver
- Find Elements By Name and Class
Locating Elements using XPath in Selenium WebDriver
- Installing ChroPath for Chrome
- Creating XPath Using Attributes
- XPath for Dynamic Elements
- XPath Using Parent – Child Relationship
- XPath Using Ancestor – Descendant Relationship
- XPath Using Preceding – Following Relationship
- Absolute XPath Vs Relative XPath
Locating Elements using CSS Selectors in Selenium WebDriver
- What is CSS and CSS Selectors?
- Create CSS Selectors Using Attributes
- CSS Selectors for Dynamic Elements
- Create CSS Selectors Using Multiple Attributes
- Advance CSS Selectors
- Creating CSS Selectors Using Child-Node Numbering
Working with Element Collections in Selenium WebDriver
- How to Retrieve a Collection of Web Elements in Selenium WebDriver?
- Handling Web Elements Collection in Selenium WebDriver
- Visible vs Hidden Web Elements in Selenium WebDriver
- Web Elements Within Another Web Element in Selenium WebDriver
Web Page Data Extraction for Test Validation in Selenium WebDriver
- Extracting Basic Page Details in Selenium WebDriver
- Extracting CSS Details in Selenium WebDriver
- How to Verify Element Visible and Enabled?
- How to Verify Element Exists in Selenium WebDriver?
- How to Verify Element Selected in Selenium WebDriver?
Automating Special WebElements (SelectBoxes, DatePickers, WebTables)
- Working with Select-Boxes in Selenium WebDriver
- Working with MultiSelect-Boxes in Selenium WebDriver
- Automating Date-Picker (Calendar) in Selenium WebDriver
- Working with WebTables in Selenium WebDriver
- Handling the Objects Within WebTable Cells in Selenium WebDriver
Automating Browser Popups using Selenium WebDriver
- Handling Browser Popup Window in Selenium WebDriver
- Working with Multiple Browser Windows in Selenium WebDriver
- Close All Browser Popup Windows in Selenium WebDriver
- Browser Close vs Quit in Selenium WebDriver
Automating iFrames using Selenium WebDriver
- Automating iFrames using Selenium WebDriver
- Automating Nested iFrames using Selenium WebDriver
Automating JavaScript Alerts using Selenium WebDriver
- Handling JavaScript Basic Alert Box using Selenium WebDriver
- Handling JavaScript Confirmation Box using Selenium WebDriver
- Handling JavaScript Prompt Box using Selenium WebDriver
Automating Mouse Actions (Drag & Drop, Mouse Hover, Click & Hold etc)
- Automating Mouse Hover Action using Selenium WebDriver
- Automating Right Click Action using Selenium WebDriver
- Automating Drag and Drop Action using Selenium WebDriver
- Resizing UI Elements using Selenium WebDriver
- Automating Sliders using Selenium WebDriver
- Automating Multi-Key Operations using Selenium WebDriver
Test Synchronization in Selenium WebDriver
- What is Test Synchronization?
- Implicit Wait in Selenium WebDriver
- Explicit Wait in Selenium WebDriver
Selenium 4 Updates
- Selenium v.4 Configuration
- Update in Implicit Wait
- Opening New Browser / Tab
- Relative Locators
- Minimizing Browser Window
- Actions Class Update
TestNG Framework
- Installing TestNG
- Automating Basic Tests in TestNG
- Assertions in TestNG
- Hard vs Soft Assertions in TestNG
- BeforeMethod and AfterMethod Annotations
- BeforeClass and AfterClass Annotations
- Managing Test Execution Using TestNG XML Files
- Include and Exclude Methods in XML File
- BeforeTest and AfterTest Annotations
- BeforeSuite and AfterSuite Annotations
- TestNG Groups
- TestNG Parameters
- Managing Test Dependencies in TestNG
- Ignoring Test Methods in TestNG
- Parallel Execution in TestNG
- TestNG HTML Reports
- Data Provider in TestNG
Creating Automation Framework from Scratch using Page Object Model and WebElements Page Factory
- What is Page Factory?
- Elements Collection (List) in Page Factory
- Initializing Page Factory Elements
- Page Object Model Design
- Creating Base Page Class
- Creating Page Library
- Creating Flow Library
Course Outline Ends…..
**I will be updating more topics to this outline as per changing trends in technology**
This course is designed for you if you are:
- a QE Automation Engineer OR
- a Selenium WebDriver automation aspirant OR
- a manual testing professional willing to jump start your automation carrier OR
- a QTP/UFT professional wanting to switch to Selenium as per testing market demand OR
- a QE Manager exploring better automation solutions for your project OR
- a fresh grad looking to learn a quick new skill which has high demand in the job market OR
- aspiring to learn coding and automation
Training program requirements/prerequisites:
- No prior coding experience required. Java programing from scratch is covered in the course.
- Participants need to have a Windows 10 PC OR a MacBook with 8 GB (or more) memory to perform hands on exercises.
To get the maximum benefit from the course, please take a look at following steps explaining ‘How to take this course?’
Step 1: Schedule 30-45 minutes of your time daily for 5 days a week. ‘Continuity’ is the key.
Step 2: All sessions are divided in small videos of less than 20 minutes. Watch 2-3 videos daily.
Step 3: Hands-on exercise is very important. So, immediately try out the programs discussed in the session. Try them on your won. You can download these programs from lecture resources.
Step 4: Assignments with answer keys are provided where-ever necessary. Complete the assignments before jumping on to the next sessions.
Step 5: If you come across any questions or issues, please feel free to contact me and I will make sure that your queries are resolved.
Wish you all a very happy learning.
Note: All the course videos are in Quad HD. For the best video streaming quality, please adjust the resolution from ‘settings’ at bottom right-hand corner of video player. Choose 1080p or 720p as per your network speed.
English
Language
Content
Basic concepts of Java Programming
JDK Installation
Eclipse IDE Installation
First Java Program
Primitive Data Types in Java
Arithmetic Operators in Java
Logical and Bitwise Operators in Java
Relational Operators in Java
Conditional Statements – IF Condition
Conditional Statements – Nested IF Condition
Loops – FOR Loop
Hands-on Exercise on FOR Loop
Loops – Nested FOR
Hands-on Exercise on Nested FOR Loop
Loops – WHILE and DO WHILE
BERAK and CONTINUE in Loops
String Operations
String Basics
String Compare
String Search
String Slice
String Replace
String Conversion
Object Oriented Programming
What is Class and Object?
Hands-on Exercise 1 on Class and Object
Methods in Java
Method Overloading
Access Specifiers (Modifiers)
Constructor
Data Encapsulation
Static Keyword
Main Method
Hands-on Exercise 2 on Class and Object
Special and Useful Classes in Java
Math Class
StringBuilder Class
StringBuilder Methods
Scanner Class
Random Class
UUID Class
New Stuff in JAVA 10
‘var’ Keyword
Concept of Garbage Collector (GC) and Java 10 Update in GC
Other Updates in Java 10
Inheritance, Abstraction and Polymorphism
Class Inheritance
Method Overriding
Polymorphism
Super Keyword
Super Class Constructor
Protected Access Specifier
Abstraction
Interface
Final Keyword
Programming with ARRAYs in Java
What is an ARRAY?
ARRAY Object
Enhanced FOR Loop for ARRAY Iteration
Hands-on Exercise on ARRAY
2D ARRAY
Hands-on Exercise on 2D ARRAY
ARRAY of OBJECT
Programming with LISTs in Java
Array LIST
Structure of Linked LIST
Linked LIST
ArrayList vs LinkedList
LIST Iterator
SETs and MAPs in Java
Hash SET
Linked Hash SET
Tree SET
Iterating on SET
Hash MAP
Tree MAP
Iterating on MAP
Regular Expressions in Java
Introduction to RegEX
Quantifiers
Character Classes
Bracket Expressions
OR Operator in RegEX
DOT Operator in RegEX
Greedy and Lazy Matching
Hands-on Exercise 1 on RegEX
Hands-on Exercise 2 on RegEX
Regularizing Number Ranges
Exception Handling in Java
What is an Exception?
Error vs Exception
Checked and Unchecked Exception
Throws Declaration
Try and Catch Block (Exception Handling)
‘Finally’ Block
Date and Time Operations (Rev. Java 8)
Local Date and Time
Custom Date and Time
Future and Past Date
Future and Past Time
Date Difference
Time Difference
DateTime Formatter
Working with Text Files (Apache Commons IO)
Read Text File using Apache Commons IO
Edit Text File using Apache Commons IO
Interview Question – Sort Line from Text File
How to ‘Copy’ and ‘Move’ Text Files?
Interview Exercise – Remove Duplicate Words from Text File
Working with Excel Files (Apache POI)
Apache POI Setup
Read Excel using POI
Read Excel Data into 2D Array
Interview Question – Write Excel using POI
Selenium WebDriver Introduction
WebDriver Architecture
Creating a Maven Project
Configure Selenium WebDriver with Maven
Chrome Driver Setup
Firefox (Gecko) Driver Setup
Browser Navigation Automation
Get Page Basic Details
Element Locaters
HTML Basics
Inspecting WebElements
Find Elements By ID and Link Text
Find Elements By Name and Class
XPath
ChroPath for Chrome
Create XPath Using Attributes
Create XPath Using Text
XPath for Dynamic Elements
XPath Axes
XPath Using Parent – Child Relationship
XPath Using Ancestor – Descendant Relationship
XPath Using Preceding – Following Relationship
Absolute XPath Vs Relative XPath
CSS Selectors
What is CSS and CSS Selectors?
Create CSS Selectors Using Attributes
CSS Selectors for Dynamic Elements
Create CSS Selectors Using Multiple Attributes
Advance CSS Selectors
Creating CSS Selectors Using Child-Node Numbering
Working with Element Collections
How to Retrieve a Collection of WebElements?
Handling WebElements Collection
Visible vs Hidden WebElements
WebElements Within Another WebElement
Getting Details From WebPage for Validation Purpose
Get Basic Details
Get CSS Details
How to Verify Element Visible and Enabled?
How to Verify Element Exists?
How to Verify Element Selected?
Automating Special WebElements (SelectBoxes, DatePickers, WebTables)
Working with Select-Boxes
Working with MultiSelect-Boxes
Working with Date-Pickers
Working with WebTables
Handling the Objects Within WebTable Cells
Automating Browser Popups
Handling Browser Popup
Working with Multiple Browser Windows
Close All Browser Popup Windows
Close vs Quit
Automating iFrames
iFrames
Nested iFrames
Automating JavaScript Alerts
JavaScript Basic Alert Box
JavaScript Confirmation Box
JavaScript Prompt Box
Automating Mouse Actions (Drag & Drop, Mouse Hover, Click & Hold etc)
Mouse Hover
Right Click
Drag and Drop
Resize UI Elements
Slider
Multi-Key Operations
Test Synchronization
What is Test Synchronization?
Implicit Wait
Explicit Wait
TestNG Part 1
Installing TestNG
Automating First Test in TestNG
Assertions in TestNG
Hard vs Soft Assertions in TestNG
BeforeMethod and AfterMethod Annotations
BeforeClass and AfterClass Annotations
Managing Test Execution Using TestNG XML Files
Include and Exclude Methods in XML File
BeforeTest and AfterTest Annotations
BeforeSuite and AfterSuite Annotations
TestNG Part 1 – Downloadable Framework Code
Page Object Model and Page Factory
Page Factory
Elements Collection (List) in Page Factory
Initializing Page Factory Elements
Page Object Model
Creating Base Class
Creating Page Library
Creating Flow Library
POM – Downloadable Framework Code
TestNG Part 2
TestNG Groups
TestNG Parameters
Managing Test Dependencies in TestNG
Ignoring Test Methods in TestNG
Parallel Execution in TestNG
TestNG HTML Reports
Data Provider in TestNG
Finishing Remarks
Download Complete Framework Code
The post The Complete Selenium WebDriver with Java Course first appeared on StudyBullet.