
A quick introduction to the course, its contents and objectives.
Music:
Jazzy Night by Sakura Girl
A quick overview of the development environment, which will use:
Java
Maven
An IDE
Music:
Day Off by Tokyo Music Walker
Basic introduction to Junit and how to run tests with it. Also a basic introduction to Asserts, which we use to determine if our tests pass or fail.
Music:
Day Off by Tokyo Music Walker
A little discussion about lifecycle hooks in Junit, which help us run methods before and after out tests.
Music:
Lobby Time by Kevin MacLeod
Quick look at how to install Selenium Webdriver to use in our project.
Music:
Jazzy Night by Sakura Girl
A quick look at a simple test with Selenium, just to get the idea of how it looks like to use it.
Music:
Colorful Flowers by Tokyo Music Walker
A look at how to find the elements in the page that we want to interact with.
Music:
Lobby Time by Kevin MacLeod
How to find the elements in code, so that we can interact with them with Selenium Webdriver.
Music:
Study and Relax by Kevin MacLeod
A concrete and real example of a test with Selenium Webdriver.
Music:
Memories of Spring by Tokyo Music Walker
A look at how to interact with dropdowns, some of the most common elements found in the web, using Selenium Webdriver.
Music:
Day Off by Tokyo Music Walker
With Selenium, it is simple to interact with elements such as checkboxes or radio buttons.
Music:
Colorful Flowers by Tokyo Music Walker
Sliders can look tricky to interact with programmatically, but it is not difficult to do so with Selenium.
Music:
Subtle Break by Ghostrifter Official
Interacting with tables is tricky, but we can find strategies to do it as consistently and simply as possible.
Music:
George Street Shuffle by Kevin MacLeod
It is important to know how to change between different windows and tabs to take our tests to the next level.
Music:
Lobby Time by Kevin MacLeod
A good idea to interact with custom elements in a webpage is to abstract that into its own class. This can save us a lot of code and be easier to maintain in the future.
Music:
Jazzy Night by Sakura Girl
One of the most important things to keep in mind while testing webpages is that sometimes things take time to load, and we can control how we interact with these waiting times through Selenium Waits.
Music:
George Street Shuffle by Kevin MacLeod
A bit of a deeper dive into Fluent Waits, and why we would want to use them, as well as why sometimes they are not the right choice.
Music:
Subtle Break by Ghostrifter Official
The Actions class gives us the ability to perform complex actions as we would with an actual keyboard and mouse, which we sometimes need to be able to test as well.
Music:
Colorful Flowers by Tokyo Music Walker
If we need even more power, we can even execute JavaScript in the browser directly with Selenium Webdriver.
Music:
Day Off by Tokyo Music Walker
Alerts and other kinds of popups can be tricky to interact with, since they do not appear as simple elements in an HTML document, but Selenium gives us a simple way to interact with them.
Music:
Study and Relax by Kevin MacLeod
A brief description and explanation of POM and why we would want to use it in our testing frameworks.
Music:
Transcendence by Alexander Nakarada
Implementing POM into our tests to actually start building our framework.
Music:
Lobby Time by Kevin MacLeod
A driver manager class will allow us to have more control in our framework. It will allow us to run tests in parallel more easily, allow us to control the driver through configuration, and make it easier to interact with the driver when we mean to.
Music:
Memories of Spring by Tokyo Music Walker
We can squeeze the most value out of our base page by giving it methods we will use throughout the whole framework.
Music:
George Street Shuffle by Kevin MacLeod
Just a quick example of a method we can use to read test data from files, to show that implementing data driven tests can be simple with Jmeter and Selenium.
Music:
George Street Shuffle by Kevin MacLeod
Junit allows us to use the test data in different ways, here are a couple basic examples.
Music:
Colorful Flowers by Tokyo Music Walker
Junit and Maven allow us to run tests in parallel in a very simple way.
Music:
Day Off by Tokyo Music Walker
A quick example of how we can pass different test parameters to run our tests with different browsers.
Music:
Subtle Break by Ghostrifter Official
Logging is really important in any project to give it visibility and keep it maintainable.
Music:
Meadows in the Sky by Artificial.Music
A quick introduction to Extent Reports and how we can use solutions like it to generate test reports.
Music:
Meadows in the Sky by Artificial.Music
Implementing extent reports in our framework in a way that keeps our tests clean but allows us to use it in an effective manner.
Music:
Transcendence by Alexander Nakarada
A final overview at the different sections in our framework and why they are there.
Music:
Study and Relax by Kevin MacLeod
Selenium is one of the most popular tools for automating web browser interactions. It allows you to simulate real user actions, such as clicking buttons, filling forms, navigating between pages, and validating page content, all through code. This makes it an essential tool for automated testing of web applications, ensuring quality and reliability while saving time compared to manual testing.
In this course, you’ll learn everything you need to build completed automated testing frameworks for web applications using Java, Selenium WebDriver, and JUnit.
Here’s what you’ll learn:
Learn Selenium WebDriver from scratch: Understand how to interact with web pages, locate elements, handle dynamic content, and automate user actions.
Master JUnit for automated testing: Write clean, maintainable, and reusable test cases using JUnit best practices.
Build a complete testing framework with Page Object Model (POM): Organize your code for scalability and maintainability, just like professional QA engineers do.
Implement logging and reporting: Learn to integrate log management and test reports (using Log4j and Extent Reports) so you can easily track execution and share results with your team.
By the end of the course, you’ll have the skills to create, maintain, and scale automated test frameworks used in real projects. Whether you’re a QA engineer looking to sharpen your automation skills or a developer who wants to add automated testing to your toolkit, this course is for you!