Network Control & CI/CD
Monitor requests, intercept/mock APIs, block heavy assets, and deploy pipelines in GitHub Actions.
Modules
13 ModulesModule 1: Navigation Control
Control browser page routing: page.goto loads, page.goBack redirects, page.reload resets, and page.url captures.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Navigate page.goto waitUntil parameters page.gotowaitUntil | Basic | 10 | Start Track | |
| Browser history navigate page.goBack page.goBackhistory navigation | Basic | 10 | Start Track |
Module 2: Route Interception
Intercept outgoing requests, abort heavy stylesheet/image assets, mockup response JSON bodies, and verify API headers.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Intercept network requests page.route page.routenetwork interception | Advanced | 30 | Start Track | |
| Block stylesheets images assets route.abortasset blocking | Advanced | 30 | Start Track | |
| Mock API JSON response body fulfills route.fulfillmocking JSON | Advanced | 30 | Start Track | |
| Modify headers request route.continue route.continuerequest headers | Advanced | 30 | Start Track |
Module 3: Authentication
Save browser context storageState cookies, load sessions configurations, cache logins, and verify cookies.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Save browser cookies storageState JSON context.storageStatecookies | Advanced | 30 | Start Track | |
| Pre-load login states global setups storageState configsession restore | Advanced | 30 | Start Track | |
| Manage multiple logins contexts storage context cookiessessions | Advanced | 30 | Start Track |
Module 4: API Testing
Request backend REST endpoints using built-in request clients, verify status ok, and pre-seed databases.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Request backend APIs direct request request.getAPI calls | Intermediate | 20 | Start Track | |
| Assert response status toBeOK method expect(response).toBeOKstatus asserts | Intermediate | 20 | Start Track | |
| Pre-seed test users databases APIs request.postdata seeding | Intermediate | 20 | Start Track |
Module 5: Visual Regression
Compare layouts against saved screenshots, update baselines, and mask dynamic text elements.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Visual regression toHaveScreenshot matches expect.toHaveScreenshotvisual comparison | Advanced | 30 | Start Track | |
| Mask dynamic timestamps layout compares maskscreenshots | Advanced | 30 | Start Track |
Module 6: Diagnostics & Traces
Enable trace file collection options, and record traces programmatically.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Enable trace files capture configurations trace: 'on'use config | Advanced | 30 | Start Track | |
| Record traces programmatically chunk tracing.starttracing.stop | Advanced | 30 | Start Track |
Module 7: CI/CD Pipelines
Create GitHub Actions runner files, upload reports as artifacts, and verify build execution pipelines.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Github Actions pipeline workflow YAML push workflowGitHub yaml | Advanced | 30 | Start Track | |
| Publish report folder artifact actions upload-artifactCI report | Advanced | 30 | Start Track | |
| Bootstrap local dev servers webServer webServer commandCI servers | Advanced | 30 | Start Track |
Module 8: Custom Reporters
Implement custom test reporters, capture run events, and configure multiple reporters.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Custom reporters interfaces callbacks Reporter classonTestEnd | Advanced | 30 | Start Track | |
| Configure multiple reporters list html reporter configHTML list | Advanced | 30 | Start Track |
Module 9: Performance & Load
Extract page performance metrics using navigation API, and throttle network latency and CPU speeds.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Measure Navigation Timing performance API window.performanceload time | Advanced | 30 | Start Track | |
| Throttle CPU speeds network connections emulateNetworkConditionsCPU throttle | Advanced | 30 | Start Track |
Module 10: Component Testing
Mount UI components inside browsers, verify props inputs, and assert callbacks events.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Mount React component CT browser tests mountcomponent tests | Advanced | 30 | Start Track | |
| Component updates updates CT assert component.updateCT updates | Advanced | 30 | Start Track |
Module 11: Automation & Scraping
Automate browsers standalone scripts, extract data list, and export pages PDF documents.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Scraping text contents chromium launch chromium.launchtextContent | Advanced | 30 | Start Track | |
| Export PDF documents pages automation page.pdfPDF export | Advanced | 30 | Start Track |
Module 12: Debug & Flakiness
Execute debug mode inspectors, pause executions, catch page errors, and analyze flakiness.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Debug tests using browser --debug flag PWDEBUG=1--debug | Advanced | 30 | Start Track | |
| Listen to page errors uncaught exceptions page.on('pageerror')exceptions | Advanced | 30 | Start Track |
Module 13: Playwright Internals
Inspect auto-waiting loops, play with CDP protocols, and analyze ElementHandles.
| Status | Drill Title | Difficulty | Points | Action |
|---|---|---|---|---|
| Auto-waiting actionability polling loops actionability checksauto-waiting | Advanced | 30 | Start Track |