Back to Ladder
Stage 4: Page States & DialogsIntermediate

Page States & Dialogs

Automate advanced interactions: iframes, JavaScript alerts, file transfers, and popup windows.

Status0% Complete
0/30
Solved
~9h
Hours
0/680
Points

Modules

6 Modules
1

Module 1: Page Object Model

Implement Page Object Models, construct locators inside class variables, create action/assertion methods, and group components.

0/6 SOLVED
StatusDrill TitleDifficultyPointsAction
Page Object Model Design Pattern
class LoginPagePOM pattern
Intermediate20Start Track
Defining POM Locators in constructor
this.usernameInputconstructor
Intermediate20Start Track
POM class action login method
async loginaction methods
Intermediate20Start Track
POM class assertion verification
verifyTitleassert methods
Intermediate20Start Track
Using Page Objects in spec files
importnew LoginPage
Intermediate20Start Track
Component Object Navigation Navbar
NavbarComponent Objects
Intermediate20Start Track
2

Module 2: Fixtures & Hooks

Structure test suites hooks: beforeAll, afterAll, beforeEach, afterEach, and extend custom fixtures setups.

0/6 SOLVED
StatusDrill TitleDifficultyPointsAction
Group Setups using beforeAll hook
test.beforeAllsetup hook
Intermediate20Start Track
Group Teardowns using afterAll hook
test.afterAllteardown hook
Intermediate20Start Track
Running setup inside beforeEach
test.beforeEachsetup hook
Intermediate20Start Track
Running cleanup inside afterEach
test.afterEachcleanup hook
Intermediate20Start Track
Built-in fixtures page context browser
pagecontextbrowser
Intermediate20Start Track
Creating Custom Fixtures extend
test.extendcustom fixtures
Intermediate20Start Track
3

Module 3: File Transfers

Handle file uploads, upload from buffer, manage file choosers, wait for downloads, and save files.

0/6 SOLVED
StatusDrill TitleDifficultyPointsAction
Listening for File Chooser events
page.waitForEvent('filechooser')fileChooser
Intermediate20Start Track
Wait for file downloads events
page.waitForEvent('download')downloads
Intermediate20Start Track
Extracting path and suggested filename
download.suggestedFilenamepath
Intermediate20Start Track
Save download files locally
download.saveAsdownloads
Intermediate20Start Track
Cancel running download streams
download.cancelcancel downloads
Intermediate20Start Track
Upload virtual files from Buffer
setInputFilesbuffers
Intermediate20Start Track
4

Module 4: Tabs & Contexts

Manage multi-tab workflows, capture popups, orchestrate isolated contexts, and close sessions.

0/4 SOLVED
StatusDrill TitleDifficultyPointsAction
Manage multiple tabs context pages
context.pagestabs coordination
Advanced30Start Track
Popup Page Capture and asserts
page.waitForEvent('popup')popups
Advanced30Start Track
Creating multiple isolated contexts
browser.newContextsession isolation
Advanced30Start Track
Close secondary context sessions
context.closecleanup contexts
Advanced30Start Track
5

Module 5: Iframes & Dialogs

Traverse iframe scopes, handle nested frames, and accept/dismiss browser JS dialog events.

0/4 SOLVED
StatusDrill TitleDifficultyPointsAction
Iframe Element access frameLocator
page.frameLocatoriframes
Intermediate20Start Track
Locating Frames by name or URL
page.frameframes
Intermediate20Start Track
Chaining Nested frameLocator rules
nested iframeschaining
Intermediate20Start Track
Handling window alert dialogs
page.on('dialog')dialogs
Intermediate20Start Track
6

Module 6: Custom Fixtures

Extend test scopes, manage worker fixtures, yield values with use(), and write auto fixtures.

0/4 SOLVED
StatusDrill TitleDifficultyPointsAction
Test-scoped custom fixtures setups
test.extendtest scope
Advanced30Start Track
Worker-scoped fixtures shared states
scope: 'worker'worker scope
Advanced30Start Track
Fixtures Teardowns post use yield
use()fixture teardown
Advanced30Start Track
Auto Fixtures running automatically
auto: trueauto fixtures
Advanced30Start Track