Skip to content

Playwright Course

This course is free, taught in English, and designed to take you from beginner to professional. Playwright is one of the most powerful browser automation frameworks for modern web applications. By the time you finish, you’ll be writing reliable automated tests that are used in real projects.

The course is built around a three-part cycle:

  • Learn — each module introduces a new concept with examples and explanations
  • PracticeBrauzerLab provides hands-on exercises directly in your browser, with no installation required
  • Build — at the end of every module, you apply what you learned to TestMarket Lab, a real web app you run locally
  • You know the basics of HTML, CSS, and JavaScript (deep knowledge not required)
  • You’re comfortable working in the command line (terminal)
  • You’re motivated to learn from scratch — Playwright experience is not required

BrauzerLab is the hands-on companion to this course. You write real Playwright code directly in your browser and see results instantly. No installation, no setup.

TestMarket Lab is the real web app the module exercises test against — a small shop with login, products, cart, checkout, and an admin area. Clone it and run it locally with npm install && npm start (it opens at http://localhost:3000), then write full Playwright test suites against it.

#TitleStatus
0Course roadmap and setupAvailable
1JS/TS for QAAvailable
2Mastering locatorsAvailable
3Actions and user interactionsAvailable
4AssertionsAvailable
5Auto-waiting and flaky testsAvailable
6Test runner and configurationAvailable
7Page Object Model (POM)Available
8Fixtures and test dataAvailable
9API testing and networkingAvailable
10Auth and storage stateAvailable
11Visual / Mobile / Accessibility testingAvailable
12CI, Docker, reportsAvailable
13Final project reviewAvailable
14Database verificationAvailable

Module 14 is a senior extension you can bolt onto the capstone: verifying the persisted side effect of an action — reading the database directly — not just the response.

Start with Module 0 →