Learning Selenium: Structure, Scale, Run, and Optimize Automated Tests
1h 16mBeginner2025-08-15
Authors

Qambar Raza
Course details
In this course, Playwright test automation specialist Qambar Raza guides you through the essentials of Selenium, a cornerstone of browser test automation, including how to write and run tests on both local machines and cloud-based platforms like GitHub Actions. Learn how to set up Selenium, grasp the intricacies of debugging, and capture evidence of test failures using screenshots. Gain proficiency in structuring tests with page object models and optimizing test execution through parallelization and Selenium Grid. Explore the techniques for leveraging Selenium Manager and integrating wire mock for efficient testing workflows. With each lesson building on the previous, this course actively engages you in fixing, coding, and running tests as a real-world test automation engineer.
Learning objectives
Build a maintainable Selenium test framework using Java and JUnit.
Configure and run Selenium Grid using Docker to scale UI test execution.
Improve test speed and reliability using smart waits and parallel execution.
Integrate accessibility checks with axe-core and mock APIs using WireMock.
Run tests in GitHub Actions CI and debug flaky remote tests.
Learning objectives
Build a maintainable Selenium test framework using Java and JUnit.
Configure and run Selenium Grid using Docker to scale UI test execution.
Improve test speed and reliability using smart waits and parallel execution.
Integrate accessibility checks with axe-core and mock APIs using WireMock.
Run tests in GitHub Actions CI and debug flaky remote tests.
Skills covered
SeleniumSoftware TestingLearningOpen SourceSoftware Development
Concepts
0. Introduction
- 01 - Learn Selenium for testing
- 02 - What you should know
- 03 - Selenium vs. modern frameworks
1. Getting Started with Selenium
- 04 - Setting up the Selenium framework for macOS
- 05 - Setting up the Selenium framework for Windows
- 06 - Write your first Selenium test
- 07 - Locate elements with confidence
- 08 - Waiting strategy - Page load strategy
- 09 - Waiting strategy - Elements
- 10 - Run tests headlessly
- 11 - Build the framework foundation
- 12 - Challenge - Fix a failing test
- 13 - Solution - Fix a failing test
2. Structuring Your Tests
- 14 - What is a page object model (POM)
- 15 - Create a POM
- 16 - Implement a POM in a test
- 17 - Data-driven testing
- 18 - Organize tests with tags
- 19 - Challenge - Refactor POM function
- 20 - Solution - Refactor POM function
3. Running Tests at Scale
- 21 - Test across browsers locally
- 22 - What is Selenium Grid
- 23 - Run tests using Selenium Grid
- 24 - Run tests in parallel
- 25 - Use GitHub Codespaces for test dev
4. Enhancing Tests with Modern Tools
- 26 - Capture screenshots on failure
- 27 - Mock APIs with WireMock
- 28 - Run tests in CI with GitHub Actions
- 29 - Challenge - Run tests in CI with GitHub Actions
- 30 - Solution - Run tests in CI with GitHub Actions
Conclusion
- 31 - Next steps