Test Environment:
Dependencies:
test_login_data.json) with valid credentialstest_login_data.json| Field | Description | Example Value |
|---|---|---|
email |
User’s login email | valid_user@example.com |
password |
User’s login password | CorrectPassword123! |
username |
Displayed username after login | valid_user |
| Step # | Action | Locator / Reference | Expected Result |
|---|---|---|---|
| 1 | Navigate to the login page | page.goto("https://www.automationexercise.com/login") |
Login page loads successfully with heading “Login to your account.” |
| 2 | Enter valid email in Email Address field | page.get_by_label("Email Address") |
Email is entered successfully. |
| 3 | Enter valid password in Password field | page.get_by_label("Password") |
Password is entered successfully. |
| 4 | Click the Login button | page.get_by_role("button", name="Login") |
User is redirected to dashboard. |
| 5 | Verify post-login UI | page.get_by_text("Logged in as {username}"), page.get_by_role("link", name="Logout") |
Dashboard displays navigation, logged-in username, and logout link. |
| 6 | Reload the page to verify session persistence | page.reload() |
“Logged in as {username}” remains visible, confirming active session. |
(To be filled after execution.)
test_login_data.jsontest_tc_ui_login_001.pyget_by_label, get_by_role, get_by_text) for accessibility and maintainability.| Element | Purpose | Playwright Locator |
|---|---|---|
| Email field | Input for login email | page.get_by_label("Email Address") |
| Password field | Input for password | page.get_by_label("Password") |
| Login button | Submit credentials | page.get_by_role("button", name="Login") |
| Logged-in username | Verify login success | page.get_by_text("Logged in as {username}") |
| Logout link | End session | page.get_by_role("link", name="Logout") |
| Navigation bar | Verify dashboard UI | page.get_by_role("navigation") |