Manual testing does not scale. Every time you add a feature, the list of things to check grows. Eventually you stop checking. Eventually something breaks in production that a five-second browser test would have caught.
Selenium solves this by letting you drive a real browser from code. Fill out a form, click a button, verify the result — automatically, repeatably, as part of your build. But Selenium is easy to start and hard to do well. Without good design, your test suite becomes brittle, slow, and a maintenance burden nobody wants to touch.
This course teaches you how to build Selenium tests that last. It is taught by Thomas Sundberg, author of the Packt video course Mastering Selenium Testing Tools and a conference speaker on test automation architecture across Europe.
Day 1 — From first test to page objects
You start by driving a browser from a JUnit test. Open a page, locate elements, assert outcomes. Then you learn why raw Selenium tests turn into a mess — and how the Page Object pattern separates what you test from how you interact with the page.
You will build a test suite that is readable, maintainable, and organised by domain concept. You will learn how to handle waits, capture screenshots on failure, and deal with the asynchronous reality of modern web applications.
Day 2 — Architecture and the build pipeline
Good test automation needs good architecture. Day two focuses on the supporting structure: how to organise your test code so it scales, how to separate fast unit tests from slower browser tests, and how to integrate Selenium into your build pipeline so tests run on every commit.
You will apply the four rules of simple design to your test code — because test code is production code. It deserves the same care. You will also learn cross-browser testing, headless execution, and how to keep your test suite fast enough that nobody is tempted to skip it.
What you bring home
A test suite that runs in your pipeline, catches regressions before they reach your users, and is maintainable enough that your team will actually keep it alive.