1 · Core
Why Playwright, and what it actually does
~1.2 h

A full working course on Playwright with TypeScript for QA engineers in large professional-services firms (Big 4 and similar). It covers the same ground as a comprehensive "zero to hero" Playwright curriculum: TypeScript essentials for test code, installation and project layout, running and debugging (CLI, UI mode, Inspector, codegen, Trace Viewer), locators and the strictness rule, web-first assertions, auto-waiting and the timeout hierarchy, every common UI component (inputs, checkboxes, radios, dropdowns, tooltips, dialogs, tables, date pickers, sliders, iframes), the Page Object Model and a scalable page architecture, custom fixtures, configuration and projects, environment variables and mobile emulation, authentication reuse through storageState, artifacts and reporters, visual regression testing, API requests, network interception and mocking, parallelism, retries, tags and flakiness control, Docker and CI on GitHub Actions. Every topic is taught the same way: the problem that exists without the feature, the feature that solves it, and the price you pay for using it. The course is written for people who will maintain a suite on a client engagement for years, not for people writing a demo test once — so review criteria, evidence for audit, secret handling and cost of maintenance are part of the material, not an appendix. By the end you should be able to build and maintain a Playwright suite unaided, and to pass an external certification-style exam on the same syllabus.
the order is free · the steps below are the order the author suggests, not a conditionView: map · steps
1 · Core
Why Playwright, and what it actually does
~1.2 h
2 · Core
The TypeScript you actually need for test code
~1.7 h
by the author’s design, after “Why Playwright, and what it actually does”
3 · Core
Installing Playwright and laying out the project
~1.2 h
by the author’s design, after “Why Playwright, and what it actually does”
4 · Core
Running and debugging: CLI, UI mode, Inspector, codegen, Trace Viewer
~1.8 h
by the author’s design, after “Installing Playwright and laying out the project”
5 · Core
The anatomy of a test: describe, hooks, steps, annotations
~1.2 h
by the author’s design, after “Running and debugging: CLI, UI mode, Inspector, codegen, Trace Viewer”
6 · Core
Locator syntax: CSS, text, XPath and chaining
~1.2 h
by the author’s design, after “The anatomy of a test: describe, hooks, steps, annotations”
7 · Core
User-facing locators and the strictness rule
~1.7 h
by the author’s design, after “Locator syntax: CSS, text, XPath and chaining”
8 · Core
Filtering, relationships and lists of elements
~1.2 h
by the author’s design, after “User-facing locators and the strictness rule”
9 · Core
Assertions and extracting values
~1.7 h
by the author’s design, after “User-facing locators and the strictness rule”
10 · Core
Auto-waiting and the timeout hierarchy
~1.8 h
by the author’s design, after “Assertions and extracting values”
11 · UI components
Text inputs, keyboard and mouse
~1.2 h
by the author’s design, after any one of these: “Filtering, relationships and lists of elements”, “Assertions and extracting values”
12 · UI components
Checkboxes, radios, dropdowns and tooltips
~1.7 h
by the author’s design, after “Text inputs, keyboard and mouse”
13 · UI components
Dialogs, alerts and web tables
~1.7 h
by the author’s design, after “Text inputs, keyboard and mouse”
14 · UI components
Date pickers, sliders and iframes
~1.8 h
by the author’s design, after “Text inputs, keyboard and mouse”
15 · Architecture
Page Object Model: the first objects
~1.7 h
by the author’s design, after “Auto-waiting and the timeout hierarchy”
16 · Architecture
Page architecture: base helpers and a page manager
~1.7 h
by the author’s design, after “Page Object Model: the first objects”
17 · Architecture
Fixtures: built-in, custom, and worker-scoped
~1.8 h
by the author’s design, after “Page architecture: base helpers and a page manager”
18 · Architecture
Configuration, projects, environments and mobile emulation
~1.7 h
by the author’s design, after “Fixtures: built-in, custom, and worker-scoped”
19 · Architecture
Authentication once: setup projects, storageState and API login
~1.7 h
by the author’s design, after “Configuration, projects, environments and mobile emulation”
20 · Evidence
Evidence: screenshots, video, traces and reporters
~1.3 h
by the author’s design, after “Auto-waiting and the timeout hierarchy”
21 · Evidence
~1.3 h
by the author’s design, after “Evidence: screenshots, video, traces and reporters”
22 · API
~1.7 h
by the author’s design, after “Auto-waiting and the timeout hierarchy”
23 · API
Network interception and mocking
~1.8 h
by the author’s design, after “API requests with Playwright”
24 · Scale
Parallelism, retries, tags and flakiness
~1.8 h
by the author’s design, after “Configuration, projects, environments and mobile emulation”
25 · Scale
Docker and continuous integration
~1.7 h
by the author’s design, after 2 of these: “Authentication once: setup projects, storageState and API login”, “Evidence: screenshots, video, traces and reporters”, “Parallelism, retries, tags and flakiness”
26 · Review
Confusion pairs and exam readiness
~1.7 h
by the author’s design, after 3 of these: “Date pickers, sliders and iframes”, “Authentication once: setup projects, storageState and API login”, “Visual regression testing”, “Network interception and mocking”, “Docker and continuous integration”
27 · Review
Delivery practice: strategy, review and evidence on an engagement
~1.7 h
by the author’s design, after “Docker and continuous integration”
final · in the browser, without the assistant
Exam
closed · enrol on the course
| 1 | Why Playwright, and what it actually does Explain the two failure modes of legacy UI automation — timing flakiness and driver overhead — and how Playwright's architecture removes each | ~1.2 h |
| 2 | The TypeScript you actually need for test code Read and write the JavaScript constructs that appear in every Playwright test: const/let, arrow functions, template literals, destructuring, objects and arrays | ~1.7 h |
| 3 | Installing Playwright and laying out the project Install Playwright into a new repository and into an existing front-end repository without breaking either | ~1.2 h |
| 4 | Running and debugging: CLI, UI mode, Inspector, codegen, Trace Viewer Run the suite, a folder, a file, a single test, a project, the last failures and only the tests affected by a change from the command line | ~1.8 h |
| 5 | The anatomy of a test: describe, hooks, steps, annotations Structure a spec file with describe blocks and the four hooks, and say when each hook runs relative to workers | ~1.2 h |
| 6 | Locator syntax: CSS, text, XPath and chaining Read the DOM vocabulary a locator depends on: tag, attribute, class, id, text node, parent and child | ~1.2 h |
| 7 | User-facing locators and the strictness rule Apply the locator priority order: role, label, placeholder, text, alt, title, test id, CSS or XPath last | ~1.7 h |
| 8 | Filtering, relationships and lists of elements Use filter() with hasText, hasNotText, has, hasNot and visible to narrow a set by content, by a descendant or by visibility | ~1.2 h |
| 9 | Assertions and extracting values Distinguish web-first assertions from generic ones and default to the former | ~1.7 h |
| 10 | Auto-waiting and the timeout hierarchy List the actionability checks and explain which action requires which of them | ~1.8 h |
| 11 | Text inputs, keyboard and mouse Choose between fill, clear and pressSequentially by the events each one sends, and say when character-by-character typing is required | ~1.2 h |
| 12 | Checkboxes, radios, dropdowns and tooltips Use check, uncheck and setChecked correctly, and justify force: true on a visually hidden native input | ~1.7 h |
| 13 | Dialogs, alerts and web tables Explain what Playwright does with a native dialog when no listener is registered, and what a registered listener is obliged to do | ~1.7 h |
| 14 | Date pickers, sliders and iframes Automate a date picker by typing where possible and by navigating the calendar where not | ~1.8 h |
| 15 | Page Object Model: the first objects State the specific duplication a page object removes and the specific change it makes cheap | ~1.7 h |
| 16 | Page architecture: base helpers and a page manager Extract shared behaviour into a shallow base class — one level of inheritance — and use composition beyond that | ~1.7 h |
| 17 | Fixtures: built-in, custom, and worker-scoped Name the built-in fixtures and say what each provides, and explain where testInfo comes from (it is not a fixture) | ~1.8 h |
| 18 | Configuration, projects, environments and mobile emulation Use projects to run the same tests across browsers, devices, roles and ENGAGE environments, and cap a project's parallelism with its own workers setting | ~1.7 h |
| 19 | Authentication once: setup projects, storageState and API login Build a setup project that authenticates once and saves the session to storageState, including IndexedDB when the identity library keeps tokens there | ~1.7 h |
| 20 | Evidence: screenshots, video, traces and reporters Capture screenshots of the page, of an element and into a buffer, and attach them to the report | ~1.3 h |
| 21 | Visual regression testing Write a screenshot comparison with toHaveScreenshot and manage baselines with the updateSnapshots modes and path templates | ~1.3 h |
| 22 | API requests with Playwright Use the request fixture to write API tests, asserting with await expect(response).toBeOK() and on headers and body | ~1.7 h |
| 23 | Network interception and mocking Choose between fulfill, continue, abort and fallback for an intercepted request, and explain handler order | ~1.8 h |
| 24 | Parallelism, retries, tags and flakiness Explain what a worker is, how work is split with and without fullyParallel, and the default number of workers | ~1.8 h |
| 25 | Docker and continuous integration Run the suite in the official Playwright image with the recommended Docker flags, and keep the image tag equal to the installed Playwright version | ~1.7 h |
| 26 | Confusion pairs and exam readiness Separate the pairs of Playwright concepts that are most often confused, by naming the one rule that divides each pair | ~1.7 h |
| 27 | Delivery practice: strategy, review and evidence on an engagement Decide what to automate and at which level — unit, API, UI, visual, accessibility, journey — and defend the decision to a client | ~1.7 h |