Model navigation between pages
Hard120 pts~45 min
- Page Object Model
- Navigation
- Fluent flows
Practice app · Acme Ops
A sign-in page with field validation and an authenticated dashboard.
Your starter code already declares TEST_URL — never hardcode a host.
Objective
Make page methods return the next page object so navigation is explicit and type-safe.
Your task
- 1LoginPage.loginAs(email, password) returns a DashboardPage.
- 2DashboardPage.logout() returns a LoginPage.
- 3LoginPage.forgotPassword() clicks #forgot-password and returns a ForgotPasswordPage.
- 4Sign in with qa@target.dev / Test@123 (#username, #password, #login-button). Assert the welcome message, log out, open “Forgot password?” and assert the “Reset your password” heading.
Acceptance criteria
- Page methods return new page objects
- At least two page classes exist
- The test ends on #/forgot-password
- At least 2 assertions pass
Fixtures
- username
- qa@target.dev
- password
- Test@123
Selenium WebDriver 4 · SDET · Page Object Model & architecture