Course Updates:
Nov 2023: The course fully supports latest Selenium version 4.15.0, latest Java 21, and latest versions of all supporting libraries.
*This course use Selenium 4.x.x for framework development*
Why this course?
Do you want to learn how real automation frameworks are built using Selenium by following 50+ industry best practices?
Did you learn Selenium in the past, but still figuring out how to go about developing a framework that is Readable, Maintainable and Scalable?
Is your team struggling with implementing automation frameworks that really works?
Did you learn many bad automation practices in the past that simply doesn't work and want to unlearn all those practices?
Then you are at the right place. This course is exactly what you were looking for!
I'll take you through an exciting journey of developing Selenium automation framework from scratch using a dedicated live e-commerce practice website!
I'll teach you 50+ industry best practices to follow while developing Selenium automation frameworks.
I'll teach you about design patterns and how to efficiently use OOP concepts in the framework.
I'll show you how to integrate APIs with the automation framework and use those to skip login through UI, to set the test data and to set the application state. All of these are Selenium recommended best practices.
I'll show you how to follow Single Responsibility Principle (SRP) and Do Not Repeat Yourself principle (DRY) which are a must while developing the framework
I'm VERY RESPONSIVE in the Q&A section. I respond to queries within 24 hours. If the time zone difference is not that huge, I can respond within 3-12 hours.
We will start with the bad practices first. This is what most of us do when we first start with developing automation frameworks.
Then I'll make you unlearn all these bad practices step-by-step by implementing many of the industry best practices using LIVE coding. I'll not only explain you the "what", but also the "why" and "how" while explaining each and every concept.
By the end of this course, you are surely going to be confident enough to build Selenium automation frameworks from scratch for any live website. You are going to think like an automation lead, plan and design the automation framework, write optimized and clean code and follow good programming and automation practices.
What topics are covered in this course?
MANY. Here's the list:
Setup the Maven project
How to automate tests using bad practices
Let's talk bad practices
Implement Page Object Model design
Create Data objects as Java Objects using POJOs
Synchronization [Wait] techniques and best practices
Optimizing tests
Implement Page Factory and discuss the Pros and Cons
Automatic driver management using WebDriverManager
Configure and drive framework using Maven
Support multiple browsers
Configure and drive framework using TestNG
Configure and drive framework using Maven and TestNG both
Implement Parallel execution using TestNG and Maven
Configure and drive framework using JUnit [specially for JUnit folks]
Parallel execution using JUnit [without ThreadLocal]
Implement Singleton Design Pattern for Config properties
How to support multiple test environments
Discuss issues with writing end to end tests
Convert to Atomic tests
Integrate APIs
Use APIs to inject cookies to browser and skip login through UI
Use APIs to set test data
Use APIs to set application state
Refactor tests to use APIs
TestNG Data Provider
Reuse Page Objects using Composition
Composition Vs Inheritance
Different ways to handle Parallel execution issues
Factory design pattern using Interface
Factory design pattern using Abstract class
How to take screenshot
How to take full page screenshot using AShot
When to use OOP concepts in automation frameworks
Allure Reporting and generate feature rich reports
Integrate the framework with GitHub
Auto-trigger automation from Jenkins using GitHub Web Hooks, SCM Polling and Build Frequency
Technology stack:
Selenium
Java
TestNG
JUnit
Maven
Rest Assured
Jackson Data bind API
Allure
GitHub
Jenkins
What else is included in the course?
All the code/notes used in the lectures are available for download
You will get my full support in the Q&A
6062
214
TAKE THIS COURSE