Skip to content
SDETRole
SDETRole

Learning path 04 · Intermediate

Automation Frameworks

Learn the major UI automation tools and, more importantly, how to build a framework around them: page objects, test data, reporting, parallelism and CI integration.

Start the path

0/12 lessons completed

What you will be able to do

  • Choose between Playwright, Selenium, Cypress and Appium with criteria you can defend
  • Write stable tests with Playwright locators and web-first assertions
  • Write Selenium 4 tests in Java with explicit waits instead of sleeps
  • Explain how Cypress queues and retries commands and how to stub the network
  • Structure a framework with page objects, fixtures, configuration and API clients
  • Manage test data so tests stay isolated when they run in parallel
  • Run a sharded suite in CI with useful reports and quality gates

Prerequisites

  • Software testing fundamentals
  • JavaScript/TypeScript or Java basics (see Programming for Testers)
  • Comfort with the command line and Git

Who this path is for

Testers who can write a few automated tests and now need to build or maintain a framework, and SDETs preparing for framework design interview rounds.

Syllabus: 12 lessons

  1. 01 Choosing an Automation Tool A practical framework for choosing between Playwright, Selenium, Cypress, Appium and API tools: criteria, trade-offs and a scored decision you can defend.
  2. 02 Playwright: Getting Started Install Playwright Test, understand the generated project, write your first tests with locators and web-first assertions, and debug them with UI mode and traces.
  3. 03 Playwright Locators Find elements the way users do: getByRole and the other built-in locators, filtering and chaining, strictness, lists, frames, and when CSS or XPath is still justified.
  4. 04 Selenium WebDriver Basics How Selenium 4 drives browsers, Selenium Manager, locators, interactions, explicit waits with WebDriverWait, and the exceptions you will meet, in Java with JUnit 5.
  5. 05 Cypress Basics How Cypress runs tests inside the browser, the command queue and retry-ability, selectors, cy.intercept for network control, cy.request and cy.session for fast logins.
  6. 06 Appium Introduction How Appium automates native, hybrid and mobile web apps: the server and driver model, W3C capabilities, mobile locators, a first Java test and what makes mobile tests flaky.
  7. 07 The Page Object Model Structure UI tests with page objects and components in Playwright (TypeScript) and Selenium (Java): what belongs in a page object, fixtures, and common anti-patterns.
  8. 08 Framework Architecture Design a test automation framework that stays maintainable: layers, folder structure, configuration, fixtures as dependency injection, API clients, and when to stop abstracting.
  9. 09 Test Data Management Where test data should come from, how to keep it unique and isolated across parallel runs, builders and factories with Faker, data-driven tests, cleanup, and privacy.
  10. 10 Test Reporting Make test results useful: reporters for people and machines, traces and screenshots as evidence, steps and attachments, merging sharded reports and tracking flakiness over time.
  11. 11 Parallel Execution Run suites faster with workers, sharding and Selenium Grid: how Playwright, JUnit 5 and TestNG parallelise, what makes tests unsafe to run in parallel, and how to fix it.
  12. 12 CI/CD Integration Run automated tests in a pipeline that people trust: which tests run when, a sharded Playwright workflow on GitHub Actions, environments, secrets, artifacts and quality gates.

From a first test to a maintainable framework

The path starts with tool choice, then teaches each major tool on its own terms: Playwright: getting started and Playwright locators, Selenium WebDriver basics, Cypress basics and an Appium introduction. Those lessons are the place to start if you are searching for a Playwright, Selenium or Cypress tutorial.

The second half is about the framework rather than the tool: the Page Object Model, framework architecture, test data management, reporting, parallel execution and CI/CD integration. These are the topics senior interviews focus on.

Practise in the labs as you go

  • After the Playwright lessons, work through the Playwright practice lab. Locator challenges are resolved against real HTML; test challenges run your spec on SDETRole's Playwright-compatible runtime against a demo app, and must pass on the working app and fail on versions with planted bugs.
  • After the Selenium lesson, use the Selenium lab. Its locator challenges resolve your XPath and CSS against a real DOM; its Java code challenges are checked by pattern rules and are not compiled.
  • There is no Cypress lab yet. Practise Cypress concepts with the Cypress interview questions and in your own project.

Mistakes that make suites slow and flaky

  • Fixed sleeps instead of waiting for a condition. Use auto-waiting and web-first assertions in Playwright, and WebDriverWait in Selenium.
  • Locators tied to layout, such as long absolute XPath. Prefer roles, labels and test IDs.
  • Page objects that contain assertions and business logic, so every change ripples through the suite.
  • Shared accounts and data, which make tests fail only when they run in parallel.
  • Logging in through the UI in every test. Authenticate once through the API and reuse the session.

Suggested study plan

Pick one primary tool and learn it properly before comparing others; most learners need four to six weeks for the whole path. Build a small framework against a public demo site as you go, adding one layer per lesson. Before interviews, review the framework design questions and read how to fix flaky tests.

Type to search across SDETRole.

Full-text search by Pagefind · runs in your browser Open search page →