TypeScript first · Python and Java next

Playwright Practice Track

Follow a progressive route from semantic locators and deterministic waits to API-aware, session-safe, production-minded browser tests.

Learning path

Build skills in layers

Foundations

Locators, assertions, forms, and waits built around accessible contracts.

Coming soon

Component Lab

Focused controls and documented edge cases before they appear in an application.

Coming soon

Realistic applications

Authentication and ecommerce flows that connect browser, API, and network testing.

Coming soon

Reusable system preview

Clear states for learners and tests

PRACTICE FIXTURE — intentionally built for automation practice

BeginnerIntermediateAdvancedExpert

The first-class path with complete starter tests and examples.

First smoke test
import { test, expect } from '@playwright/test';

test('opens the practice hub', async ({ page }) => {
  await page.goto('/practice/');
  await expect(page.getByRole('heading', { name: 'Testheon Practice Lab' })).toBeVisible();
});
Show solution

Prefer role and accessible-name locators, assert the user-visible outcome, and keep the exercise route stable. The same contract can then move into a realistic app flow.

Component Labs

Practice stable controls and awkward DOM

Learn one interaction contract at a time, then carry the same controls into realistic applications.

FX-INPUT-001

Input components

Native, masked, dynamic, validated, debounced and suggested inputs.

FX-BUTTON-001

Button components

Actions, gestures, delays, DOM replacement and scoped duplicate labels.

FX-CHOICE-001

Checkboxes and radios

Groups, indeterminate state, hierarchy, generated and conditional options.

FX-DROPDOWN-001

Dropdown components

Native and ARIA selection plus dependent and paged API options.

FX-FORM-001

Realistic forms

Client and API validation across six believable form workflows.

FX-LOCATOR-001

Locator Lab

Semantic selection, filtering, position and frame-free scoping.

FX-TABLE-001

Table Lab

Sorting, search, filters, pagination, editing, row actions, virtualization and nested data.

FX-LIST-001

Search and Lists Lab

Search timing, autocomplete, combined filters, load more and cursor-backed infinite scroll.

FX-WAIT-001

Playwright Waits Lab

Auto-waiting, web-first assertions, deterministic delays, requests, lazy content and progress.

FX-DOM-001

Dynamic DOM Lab

Generated selectors, seeded order, duplicate text, replacement and API-rendered elements.

FX-DIALOG-001

Dialogs and Toasts

Browser dialogs, accessible application modals and semantic toast notifications.

FX-INTERACT-001

Interaction Lab

Hover, pointer gestures, scrolling, focus order, shortcuts, listboxes and autocomplete.

FX-DATETIME-001

Date, Time, and Ranges

Native and custom dates, fixed timezones, sliders, linked values and async progress.

FX-FRAME-001

Frames and Windows Lab

Same-origin iframes, nested documents, tabs, popups and parent communication.

FX-SHD-001

Shadow DOM Lab

Open, closed, nested and slotted component boundaries with truthful locator guidance.

FX-VIS-001

Visual Testing Lab

Frozen v1 and v2 release states for deterministic screenshot assertions.

FX-MOCK-001

Advanced Network Mocking

Same-origin synthetic request interception, fulfilment, failures, bounded delays, retries and contract variation.

FX-FILE-001

Files Lab

Private safe uploads, sanitized previews, rejection paths and deterministic downloads.

FX-DRAG-001

Drag and Drop Lab

HTML5 and pointer dragging, keyboard sorting, file drops and API-backed Kanban.

FX-CONTEXT-001

Browser Context Lab

Cookies, storage, permissions, offline requests and responsive breakpoints.

FX-A11Y-001

Accessibility Practice Lab

Keyboard-ready controls and isolated, documented accessibility anti-patterns.

FX-AUTH-001

Authentication Sandbox

Public demo users, password reset, secure sessions, roles, bearer tokens and API keys.

Index lesson

Playwright Authentication

Global setup, storageState, role projects, API login, logout and deterministic expiry.

FX-STORE-001

Testheon Store

Catalogue, product, guest cart, authenticated checkout, orders, network failures and visual mode.