Testing mode

All qa.cafe features are currently free. Features and test data can change before launch.

BeginnerTest automation

TypeScript and Playwright for QA

Start with no coding experience. Learn TypeScript through browser exercises, then build an npm Playwright project against a deterministic local application.

TypeScriptPlaywrightBrowser automationTest designDebuggingContinuous integration

What you’ll be able to do.

01

Write strict TypeScript that represents test data and decisions

02

Build isolated Playwright tests with resilient locators and web assertions

03

Diagnose failures with traces, reports, and controlled network behavior

04

Run type checks and browser tests through npm and continuous integration

10 focused modules.

40 lessons total
01Why TypeScript and Playwright matter and what this course will teach youUnderstand why TypeScript and Playwright matter in QA work. Preview the knowledge, practical skills, and outcomes that you will build.
  1. What programming is and how code runsLesson
  2. Tools, files, and a first projectLesson
  3. Values, variables, and console evidenceLesson
  4. Build a typed result summaryLesson
02Types and decisionsModel test inputs and make explicit decisions from observations.
  1. Primitive types and inferenceLesson
  2. Comparisons and logical operatorsLesson
  3. Conditions and type narrowingLesson
  4. Classify boundary outcomesLesson
03Reusable checks with functionsCreate focused functions that express repeatable QA checks.
  1. Parameters and return typesLesson
  2. Optional and default parametersLesson
  3. Arrow functions and callbacksLesson
  4. Create an assertion helperLesson
04Collections and test dataRepresent related data and build controlled test cases.
  1. Arrays and iterationLesson
  2. Objects, interfaces, and type aliasesLesson
  3. Literal unions and discriminated dataLesson
  4. Build deterministic test dataLesson
05Asynchronous QA workflowsHandle external data, waiting, and failures with explicit control.
  1. JSON and unknown inputLesson
  2. Promises and async functionsLesson
  3. Errors, timeouts, and cleanupLesson
  4. Build a typed asynchronous utilityLesson
06Projects and Playwright setupPrepare a strict TypeScript project and a local test target.
  1. ES modules and importsLesson
  2. npm scripts and strict TypeScriptLesson
  3. Initialize PlaywrightLesson
  4. Build the local QA ShopLesson
07First browser testsWrite user-focused tests with resilient locators and assertions.
  1. Test, expect, and pageLesson
  2. Locators by user meaningLesson
  3. Automatic waiting and web assertionsLesson
  4. Lab: Search and checkoutLesson
08Test design and isolationKeep tests independent and data aligned with product risk.
  1. Browser contexts and isolationLesson
  2. Hooks and fixturesLesson
  3. Deterministic data and stateLesson
  4. Lab: Build a risk-based journey suiteLesson
09Reliable execution and diagnosisConfigure useful coverage and investigate failures with evidence.
  1. Projects and configurationLesson
  2. UI Mode, Inspector, traces, and reportsLesson
  3. Network control and observationLesson
  4. Lab: Remove flaky waitsLesson
10Maintainable automation and deliveryKeep the suite understandable and run it as team feedback.
  1. Helpers and page objects with restraintLesson
  2. Type checking and test evidenceLesson
  3. Continuous integration with GitHub ActionsLesson
  4. Capstone: QA Shop automationLesson