Playwright Test Automation for QA Engineers
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.
Votre leçon est dans votre langue : c’est votre assistant qui la mène.
- Contenu: anglais
- Examen: anglais — passé sur le site, non traduit
Comment ça marche
Votre assistant récupère le contenu du cours sur notre serveur et mène la leçon dans votre langue.
L’examen se passe sur le site, sans assistant. Les questions d’examen ne sont pas traduites : c’est la règle pour tous les cours.
Parcours du cours
· 27 unitésl’ordre est libre · les étapes ci-dessous sont l’ordre suggéré par l’auteur, pas une conditionAffichage: carte · niveaux
Niveau 1
~1,2 h
1 · Core
Why Playwright, and what it actually does
~1,2 h
Niveau 2
~2,9 h
Core · selon le plan de l’auteur, après « Why Playwright, and what it actually does »
Niveau 3
~1,8 h
4 · Core · selon le plan de l’auteur, après « Installing Playwright and laying out the project »
Running and debugging: CLI, UI mode, Inspector, codegen, Trace Viewer
~1,8 h
Niveau 4
~1,2 h
5 · Core · selon le plan de l’auteur, après « Running and debugging: CLI, UI mode, Inspector, codegen, Trace Viewer »
The anatomy of a test: describe, hooks, steps, annotations
~1,2 h
Niveau 5
~1,2 h
6 · Core · selon le plan de l’auteur, après « The anatomy of a test: describe, hooks, steps, annotations »
Locator syntax: CSS, text, XPath and chaining
~1,2 h
Niveau 6
~1,7 h
7 · Core · selon le plan de l’auteur, après « Locator syntax: CSS, text, XPath and chaining »
User-facing locators and the strictness rule
~1,7 h
Niveau 7
~2,9 h
Core · selon le plan de l’auteur, après « User-facing locators and the strictness rule »
Niveau 8
~3 h
10 · Core · selon le plan de l’auteur, après « Assertions and extracting values »
Auto-waiting and the timeout hierarchy
~1,8 h
11 · UI components · selon le plan de l’auteur, après l’une de celles-ci : « Filtering, relationships and lists of elements », « Assertions and extracting values »
Text inputs, keyboard and mouse
~1,2 h
Niveau 9
~9,8 h
12 · UI components · selon le plan de l’auteur, après « Text inputs, keyboard and mouse »
Checkboxes, radios, dropdowns and tooltips
~1,7 h
13 · UI components · selon le plan de l’auteur, après « Text inputs, keyboard and mouse »
Dialogs, alerts and web tables
~1,7 h
14 · UI components · selon le plan de l’auteur, après « Text inputs, keyboard and mouse »
Date pickers, sliders and iframes
~1,8 h
15 · Architecture · selon le plan de l’auteur, après « Auto-waiting and the timeout hierarchy »
Page Object Model: the first objects
~1,7 h
20 · Evidence · selon le plan de l’auteur, après « Auto-waiting and the timeout hierarchy »
Evidence: screenshots, video, traces and reporters
~1,3 h
22 · API · selon le plan de l’auteur, après « Auto-waiting and the timeout hierarchy »
~1,7 h
Niveau 10
~4,7 h
16 · Architecture · selon le plan de l’auteur, après « Page Object Model: the first objects »
Page architecture: base helpers and a page manager
~1,7 h
21 · Evidence · selon le plan de l’auteur, après « Evidence: screenshots, video, traces and reporters »
~1,3 h
23 · API · selon le plan de l’auteur, après « API requests with Playwright »
Network interception and mocking
~1,8 h
Niveau 11
~1,8 h
17 · Architecture · selon le plan de l’auteur, après « Page architecture: base helpers and a page manager »
Fixtures: built-in, custom, and worker-scoped
~1,8 h
Niveau 12
~1,7 h
18 · Architecture · selon le plan de l’auteur, après « Fixtures: built-in, custom, and worker-scoped »
Configuration, projects, environments and mobile emulation
~1,7 h
Niveau 13
~3,5 h
selon le plan de l’auteur, après « Configuration, projects, environments and mobile emulation »
19 · Architecture
Authentication once: setup projects, storageState and API login
~1,7 h
24 · Scale
Parallelism, retries, tags and flakiness
~1,8 h
Niveau 14
~1,7 h
25 · Scale · selon le plan de l’auteur, après 2 de celles-ci : « Authentication once: setup projects, storageState and API login », « Evidence: screenshots, video, traces and reporters », « Parallelism, retries, tags and flakiness »
Docker and continuous integration
~1,7 h
Niveau 15
~3,4 h
Review
26 · selon le plan de l’auteur, après 3 de celles-ci : « Date pickers, sliders and iframes », « Authentication once: setup projects, storageState and API login », « Visual regression testing », « Network interception and mocking », « Docker and continuous integration »
Confusion pairs and exam readiness
~1,7 h
27 · selon le plan de l’auteur, après « Docker and continuous integration »
Delivery practice: strategy, review and evidence on an engagement
~1,7 h
Examen
fermée · inscrivez-vous au cours
final · dans le navigateur, sans l’assistant
Examen
Le parcours en mots
- Niveau 1 · Why Playwright, and what it actually does — ~1,2 h
- Niveau 2 · The TypeScript you actually need for test code — selon le plan de l’auteur, après « Why Playwright, and what it actually does »; ~1,7 h
- Niveau 2 · Installing Playwright and laying out the project — selon le plan de l’auteur, après « Why Playwright, and what it actually does »; ~1,2 h
- Niveau 3 · Running and debugging: CLI, UI mode, Inspector, codegen, Trace Viewer — selon le plan de l’auteur, après « Installing Playwright and laying out the project »; ~1,8 h
- Niveau 4 · The anatomy of a test: describe, hooks, steps, annotations — selon le plan de l’auteur, après « Running and debugging: CLI, UI mode, Inspector, codegen, Trace Viewer »; ~1,2 h
- Niveau 5 · Locator syntax: CSS, text, XPath and chaining — selon le plan de l’auteur, après « The anatomy of a test: describe, hooks, steps, annotations »; ~1,2 h
- Niveau 6 · User-facing locators and the strictness rule — selon le plan de l’auteur, après « Locator syntax: CSS, text, XPath and chaining »; ~1,7 h
- Niveau 7 · Filtering, relationships and lists of elements — selon le plan de l’auteur, après « User-facing locators and the strictness rule »; ~1,2 h
- Niveau 7 · Assertions and extracting values — selon le plan de l’auteur, après « User-facing locators and the strictness rule »; ~1,7 h
- Niveau 8 · Auto-waiting and the timeout hierarchy — selon le plan de l’auteur, après « Assertions and extracting values »; ~1,8 h
- Niveau 8 · Text inputs, keyboard and mouse — selon le plan de l’auteur, après l’une de celles-ci : « Filtering, relationships and lists of elements », « Assertions and extracting values »; ~1,2 h
- Niveau 9 · Checkboxes, radios, dropdowns and tooltips — selon le plan de l’auteur, après « Text inputs, keyboard and mouse »; ~1,7 h
- Niveau 9 · Dialogs, alerts and web tables — selon le plan de l’auteur, après « Text inputs, keyboard and mouse »; ~1,7 h
- Niveau 9 · Date pickers, sliders and iframes — selon le plan de l’auteur, après « Text inputs, keyboard and mouse »; ~1,8 h
- Niveau 9 · Page Object Model: the first objects — selon le plan de l’auteur, après « Auto-waiting and the timeout hierarchy »; ~1,7 h
- Niveau 9 · Evidence: screenshots, video, traces and reporters — selon le plan de l’auteur, après « Auto-waiting and the timeout hierarchy »; ~1,3 h
- Niveau 9 · API requests with Playwright — selon le plan de l’auteur, après « Auto-waiting and the timeout hierarchy »; ~1,7 h
- Niveau 10 · Page architecture: base helpers and a page manager — selon le plan de l’auteur, après « Page Object Model: the first objects »; ~1,7 h
- Niveau 10 · Visual regression testing — selon le plan de l’auteur, après « Evidence: screenshots, video, traces and reporters »; ~1,3 h
- Niveau 10 · Network interception and mocking — selon le plan de l’auteur, après « API requests with Playwright »; ~1,8 h
- Niveau 11 · Fixtures: built-in, custom, and worker-scoped — selon le plan de l’auteur, après « Page architecture: base helpers and a page manager »; ~1,8 h
- Niveau 12 · Configuration, projects, environments and mobile emulation — selon le plan de l’auteur, après « Fixtures: built-in, custom, and worker-scoped »; ~1,7 h
- Niveau 13 · Authentication once: setup projects, storageState and API login — selon le plan de l’auteur, après « Configuration, projects, environments and mobile emulation »; ~1,7 h
- Niveau 13 · Parallelism, retries, tags and flakiness — selon le plan de l’auteur, après « Configuration, projects, environments and mobile emulation »; ~1,8 h
- Niveau 14 · Docker and continuous integration — selon le plan de l’auteur, après 2 de celles-ci : « Authentication once: setup projects, storageState and API login », « Evidence: screenshots, video, traces and reporters », « Parallelism, retries, tags and flakiness »; ~1,7 h
- Niveau 15 · Confusion pairs and exam readiness — selon le plan de l’auteur, après 3 de celles-ci : « Date pickers, sliders and iframes », « Authentication once: setup projects, storageState and API login », « Visual regression testing », « Network interception and mocking », « Docker and continuous integration »; ~1,7 h
- Niveau 15 · Delivery practice: strategy, review and evidence on an engagement — selon le plan de l’auteur, après « Docker and continuous integration »; facultative; ~1,7 h
Programme · 27 unités
| 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 |
