The Complete Selenium WebDriver with Java Course, Learn Selenium WebDriver with Java, TestNG Framework, Page Object Model, Page Factory Design. Learn Coding From Scratch.
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.