Skip to content

PLAYWRIGHT · TYPESCRIPT · TEST REAL USER BEHAVIOR

Build tests you can trust.
Learn Playwright by doing.

From your first browser check to an isolated regression suite. Practice reliable locators, API tests, network mocks, browser projects, debugging and continuous integration.

24 guided lessons24 runnable checkpoints1 combined regression suite

What you need

Basic JavaScript or TypeScript, functions, imports and async/await. Use Node.js 22 or 24, npm and a code editor. Each download pins Playwright 1.56.1 and TypeScript 5.9.3 for repeatable practice.

New to types? Start with the TypeScript course. Check the official browser requirements when upgrading Playwright.

A practice app you control

Every project includes a local task app with forms, filtering, files, dialogs, frames and demo session state. The local server also provides isolated API test data.

Tests start their own server on localhost. Reset clears only owned practice tasks; the examples never reset or modify the live EduPoly application.

Your complete automation workspace

Download all lessons, offline explanations and an all-tests workspace. Explore the public practice app to understand the controls before writing tests locally.

The public demo is static. API exercises require the downloaded local server. Demo names are simulated browser state, not real authentication. Visual baselines are generated and reviewed in your own test environment.

01

COURSE MODULE

Foundations

  1. 01

    Install Playwright and run your first test

    Run a real browser test against your own local practice app.

  2. 02

    Understand the runner and configuration

    Choose how tests are discovered, executed and reported.

  3. 03

    Choose resilient locators

    Find controls by user-facing meaning and explicit test contracts.

  4. 04

    Assertions and automatic waiting

    Wait for observable results instead of guessing delays.

  5. 05

    Forms, selections and validation

    Exercise inputs through the same controls a learner uses.

02

COURSE MODULE

Reliable suites

  1. 06

    Lists, filtering and task CRUD

    Verify a complete lifecycle without relying on element positions.

  2. 07

    Isolation, hooks and safe resets

    Keep tests independent and reset only owned practice data.

  3. 08

    Parameterized tests and boundaries

    Turn a small table of cases into separately reported tests.

  4. 09

    Custom fixtures and cleanup

    Create reusable test setup with a clear lifecycle.

  5. 10

    Page objects without hiding intent

    Encapsulate repeated page interactions in a small typed object.

04

COURSE MODULE

Browser interactions

  1. 15

    File uploads and downloads

    Exercise files without depending on a machine-specific chooser.

  2. 16

    Dialogs and frames

    Handle modal browser dialogs and enter an iframe explicitly.

  3. 17

    Popups and multiple pages

    Capture a new tab without losing control of the original page.

  4. 18

    Keyboard and accessibility-focused checks

    Verify labels, keyboard submission and focus behavior.

  5. 19

    Browser projects and mobile emulation

    Run one behavior across browser engines and a mobile-sized context.

Learn from failures

Every lesson explains the code, gives checks to run and ends with an exercise and answer. Use traces and reports to understand failures, then fix the cause rather than hiding it with sleeps or retries.

Finish with a repeatable suite

Run browser and API scenarios independently, add reviewed visual checks, and use the included GitHub Actions example in a dedicated practice repository.

Official Playwright documentation ↗

Browse all EduPoly tutorials →