PART 1: Programming & Web Foundations
Module 1: How a Modern Web Application Works
- Frontend, backend, database and HTTP/HTTPS
- HTML, CSS, JavaScript and the DOM
- Cookies, sessions and browser DevTools
- Lab: Trace a UI action to its network request
Module 2: Programming Foundations for Testers
- Variables, data types, operators and arrays
- Conditionals, loops and functions
- Objects and structured data
- Lab: Guided coding exercises built around testing problems
Module 3: TypeScript for Test Automation
- Type annotations and interfaces
- Classes, modules, imports and exports
- Understanding and fixing common TypeScript errors
- Lab: Build a typed test-data module
Module 4: Async Programming & Project Setup
- Promises, async/await and error handling
- Why browser automation is asynchronous
- Node.js, npm, VS Code and Playwright installation
- Lab: Create a working Playwright project from scratch
PART 2: Playwright Core Skills
Module 5: Playwright Fundamentals
- Browser, BrowserContext and Page
- Test runner, configuration file and headed vs headless runs
- Inspector and Codegen
- Lab: Build and run your first end-to-end UI test
Module 6: Locators & Element Identification
- Role, label, text and test-id locators
- CSS selectors, XPath, chaining and filtering
- Handling lists, tables and dynamic elements
- Lab: Locator Gauntlet challenge
Module 7: Interactions, Assertions & Synchronization
- Forms, uploads, downloads, popups, iframes and Shadow DOM
- Web-first assertions and auto-waiting
- Replacing hard-coded sleeps with smart waits
- Lab: Automate and stabilize a multi-step business workflow
Module 8: Debugging, Trace Viewer & Flaky Tests
- Breakpoints, screenshots, videos and logs
- Trace Viewer in depth
- Diagnosing timing, locator, data and environment issues
- Lab: Debug a deliberately broken test suite
PART 3: Framework Engineering
Module 9: Page Object Model & Framework Design
- Folder structure and naming conventions
- Page classes and reusable components
- Refactoring duplicated code
- Lab: Refactor a messy suite into a maintainable structure
Module 10: Fixtures, Authentication & Test Organisation
- Custom fixtures, hooks and test lifecycle
- Login reuse with storageState
- Tags, projects, parallel execution and regression suites
- Lab: Build reusable authentication and test fixtures
Module 11: Test Data, Parameterization & Network Control
- External JSON data and data-driven tests
- Test data factories
- Network interception, mocking and modifying API responses
- Lab: Build data-driven tests and mock selected API responses
Module 12: API Testing with Playwright
- REST requests: GET, POST, PUT, PATCH, DELETE
- Response and schema validation
- Combining API and UI automation
- Lab: Build a CRUD API suite and prepare UI test data via APIs
Module 13: Git, GitHub Actions & Reporting
- Git fundamentals, pull requests and merge conflicts
- GitHub Actions: triggers, secrets, parallel and sharded runs
- HTML reports, traces and artifacts
- Lab: Build a CI pipeline that runs on every push
PART 4: AI-Augmented Automation & Capstone
Module 14: AI-Assisted Test Scripting
- GitHub Copilot and ChatGPT as development partners
- Effective prompts and project context
- Reviewing AI-generated code and common mistakes
- Lab: Spot the Defect challenge, five AI-generated tests with five planted bugs
Module 15: AI-Assisted Debugging, Maintenance & Capstone
- Diagnosing failures and fixing flaky tests with AI
- Bulk maintenance, refactoring and code review
- Knowing when to accept, modify or reject AI output
- Lab: Inherit a messy test suite, repair it and review a teammate’s pull request