Selenium Java Test Framework & Best Practices – Masterclass
Learn Page Object Model with 50+ Industry Best Practices, Design Patterns, API Integration, OOP, SRP, DRY & Many Tips
What you’ll learn
Selenium Java Test Framework & Best Practices – Masterclass
- Develop Page Object Model frameworks from scratch for any Live website
- 50+ Industry best practices to follow for framework development
- Learn to develop Readable, Maintainable, and Scalable frameworks from scratch
- Bad practices to avoid during framework development
- Easily integrate APIs using REST Assured to skip login through UI [Selenium recommendation]
- Use APIs to set up test data [Selenium Recommendation]
- Learn how to easily write Atomic and Independent tests [Selenium Recommendation]
- You learn how to setup application state for tests [Selenium Recommendation]
- Learn to implement Parallel execution using TestNG, Maven, and JUnit
- How to easily configure and drive automation frameworks using TestNG, JUnit, and Maven
- Factory Design Pattern – Using Interface and Abstract class
- Singleton Design Pattern
- Learn how to follow the Single Responsibility Principle (SRP)
- Learn how to follow the Do Not Repeat Yourself (DRY) principle
- When and how to use OOP concepts in frameworks [Inheritance, Interface, Encapsulation, Polymorphism]
- Learn how to reuse Page Objects using Composition
- Learn about Fluent Interface and Builder design in Page Objects
- Manage test data as Java Objects using POJOs
- Synchronization [Wait] best practices
- How to easily handle Stale Element and Element Click Intercepted exceptions
- Learn how to effectively use TestNG Data providers to drive test variations
- How to go about efficiently supporting multiple browsers and Environments
- Automated WebDriver management
- Learn Allure Reporting and generate feature-rich reports
- You learn how to integrate the framework with GitHub
- Learn how to auto-trigger automation from Jenkins using GitHub WebHooks, SCM Polling, and Build Frequency
- Just know how to automate basic tests using Selenium and you are good to go
- No prior framework development experience needed
- JAVA programming knowledge is not really required. I have got you covered with the necessary stuff.
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 work?
Did you learn many bad automation practices in the past that simply don’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 a 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.
- 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 the Single Responsibility Principle (SRP) and Do Not Repeat Yourself principle (DRY) which are a must while developing the framework
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 to 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 [especially 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 the browser and skip login through UI
- Learn how to 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 a 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 WebHooks, SCM Polling, and Build Frequency
- Rest Assured
- Jackson Data bind API
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
Who this course is for:
- Software engineers looking to learn how real automation frameworks are built from scratch
- Software engineers struggling with developing automation frameworks
- Teams struggling with developing automation frameworks that really works
- Software engineers looking to learn industry best practices for framework development
- Software engineers looking to transition to SDET role
- Last updated 7/2021