Test Overview
This test checks if the login page works correctly using the Page Object Model (POM) design. It verifies that a user can enter a username and password, click the login button, and see the welcome message.
This test checks if the login page works correctly using the Page Object Model (POM) design. It verifies that a user can enter a username and password, click the login button, and see the welcome message.
class LoginPage: def __init__(self, driver): self.driver = driver self.username_input = "#username" self.password_input = "#password" self.login_button = "#loginBtn" self.welcome_message = "#welcomeMsg" def enter_username(self, username): self.driver.find_element("css selector", self.username_input).send_keys(username) def enter_password(self, password): self.driver.find_element("css selector", self.password_input).send_keys(password) def click_login(self): self.driver.find_element("css selector", self.login_button).click() def get_welcome_text(self): return self.driver.find_element("css selector", self.welcome_message).text def test_login_success(driver): login_page = LoginPage(driver) driver.get("https://example.com/login") login_page.enter_username("testuser") login_page.enter_password("password123") login_page.click_login() welcome_text = login_page.get_welcome_text() assert welcome_text == "Welcome, testuser!"
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Test starts and browser opens | Browser window is open but no page loaded yet | - | PASS |
| 2 | Navigate to https://example.com/login | Login page is loaded with username, password fields and login button visible | Page URL is https://example.com/login | PASS |
| 3 | Find username input field and enter 'testuser' | Username field contains 'testuser' | Username input value is 'testuser' | PASS |
| 4 | Find password input field and enter 'password123' | Password field contains 'password123' (masked) | Password input value is 'password123' | PASS |
| 5 | Find and click the login button | Page processes login and loads welcome message | - | PASS |
| 6 | Find welcome message element and get its text | Welcome message displayed: 'Welcome, testuser!' | Welcome message text equals 'Welcome, testuser!' | PASS |