Back to Ladder
Stage 4: Page States & DialogsIntermediate

Test Suites & Configurations

Organize tests with hooks, write configurations, target multiple browser projects, and manage parallel runs.

Status0% Complete
0/30
Solved
~8h
Hours
0/670
Points

Modules

9 Modules
1

Module 1: Config Deep Dive

Deconstruct testDir, timeouts, assertion limits, process.env variables, test artifacts captures, webServer setups, and forbidOnly rules.

0/6 SOLVED
StatusDrill TitleDifficultyPointsAction
Define config baseline rules
defineConfigtimeout
Intermediate20Start Track
Configuring assertion timeout thresholds
expect.timeoutassertions
Intermediate20Start Track
Load configs from environment env
process.envvariables
Intermediate20Start Track
Auto-capture screenshots videos traces
trace: 'retain-on-failure'use options
Intermediate20Start Track
Configuring dev servers webServer
webServerbaseURL
Intermediate20Start Track
Prevent commit test.only CI errors
forbidOnlyCI checks
Intermediate20Start Track
2

Module 2: Mobile Emulation

Emulate viewports, user agents, GPS coordinates, dark/light theme schemes, permissions, and network status.

0/4 SOLVED
StatusDrill TitleDifficultyPointsAction
Mobile Device Emulation viewport
devices['Pixel 5']viewport
Advanced30Start Track
Enabling isMobile hasTouch options
isMobile: truehasTouch: true
Advanced30Start Track
Set geolocation credentials contexts
geolocationpermissions
Advanced30Start Track
Color scheme dark light emulations
colorScheme: 'dark'media
Advanced30Start Track
3

Module 3: Visual Captures

Capture viewport screenshot, capture full scrollable pages, locate element snapshots, and save failures video files.

0/4 SOLVED
StatusDrill TitleDifficultyPointsAction
Capture Viewport Screenshot PNG
page.screenshotpng
Intermediate20Start Track
Capture full scrollable page snapshot
fullPage: truescreenshots
Intermediate20Start Track
Capture element screenshot selector
locator.screenshotelement screenshot
Intermediate20Start Track
Record video profiles on failures
use: { video: 'on' }videos
Intermediate20Start Track
4

Module 4: Multi-Browser

Set browser engine targets, configure channels, launch specific browser targets, and conditionally skip specs.

0/3 SOLVED
StatusDrill TitleDifficultyPointsAction
Configure browser projects matrix
projectsbrowsers
Intermediate20Start Track
Select runner browser projects CLI
--projectCLI projects
Intermediate20Start Track
Skip tests conditionally on browsers
test.skipbrowserName
Intermediate20Start Track
5

Module 5: Tagging & Filters

Append tag labels to titles, run tests by tags, skip/exclude suites, and annotate broken test files.

0/3 SOLVED
StatusDrill TitleDifficultyPointsAction
Tagging test suites @tag labels
@tagtest annotations
Basic10Start Track
Run tests matching tag search grep
--grepCLI tags
Basic10Start Track
Mark broken suites test.fixme annotation
test.fixmebroken tests
Basic10Start Track
6

Module 6: JS Page Execution

Evaluate browser-side script loops, pass arguments to page evaluations, add init scripts, and fetch storage states.

0/4 SOLVED
StatusDrill TitleDifficultyPointsAction
Execute browser Javascript evaluate
page.evaluatejavascript execution
Intermediate20Start Track
Pass arguments to page evaluations
page.evaluatearguments
Intermediate20Start Track
Inject scripts on page load initialization
page.addInitScriptinit scripts
Intermediate20Start Track
Access localStorage and sessionStorage fields
localStoragesessionState
Intermediate20Start Track
7

Module 7: Parallel & Sharding

Configure parallel worker processes, prevent race conditions, shard test suites, and merge test report files.

0/2 SOLVED
StatusDrill TitleDifficultyPointsAction
Enable fullyParallel test threads
fullyParallel: trueworkers
Advanced30Start Track
Shard test suites parallel CI runners
--shardCI sharding
Advanced30Start Track
8

Module 8: Scale & Architecture

Structure folder files, export imports using barrel indexes, and config environments extensions.

0/2 SOLVED
StatusDrill TitleDifficultyPointsAction
Organize tests by domain features
folder structuresdomain files
Advanced30Start Track
Export imports using barrel index files
barrel indeximports
Advanced30Start Track
9

Module 9: Test Data Management

Generate fake data profiles, load dotenv configurations, seed database state, and clean up test data.

0/2 SOLVED
StatusDrill TitleDifficultyPointsAction
Generate fake test data via Faker
faker-jsdynamic user
Advanced30Start Track
Seed database state before test runs
beforeEach seedingdatabase resets
Advanced30Start Track