Test Overview
This test opens a login page, enters username and password using page objects, clicks login, and verifies successful login by checking the welcome message.
This test opens a login page, enters username and password using page objects, clicks login, and verifies successful login by checking the welcome message.
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import unittest class LoginPage: def __init__(self, driver): self.driver = driver self.username_input = (By.ID, "username") self.password_input = (By.ID, "password") self.login_button = (By.ID, "loginBtn") def enter_username(self, username): self.driver.find_element(*self.username_input).clear() self.driver.find_element(*self.username_input).send_keys(username) def enter_password(self, password): self.driver.find_element(*self.password_input).clear() self.driver.find_element(*self.password_input).send_keys(password) def click_login(self): self.driver.find_element(*self.login_button).click() class HomePage: def __init__(self, driver): self.driver = driver self.welcome_message = (By.ID, "welcomeMsg") def get_welcome_text(self): return self.driver.find_element(*self.welcome_message).text class TestLogin(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.get("https://example.com/login") self.login_page = LoginPage(self.driver) self.home_page = HomePage(self.driver) def test_valid_login(self): self.login_page.enter_username("testuser") self.login_page.enter_password("securepass") self.login_page.click_login() WebDriverWait(self.driver, 10).until( EC.presence_of_element_located(self.home_page.welcome_message) ) welcome_text = self.home_page.get_welcome_text() self.assertEqual(welcome_text, "Welcome, testuser!") def tearDown(self): self.driver.quit() if __name__ == "__main__": unittest.main()
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Test starts and Chrome browser opens | Browser window is open at https://example.com/login showing login form with username, password fields and login button | - | PASS |
| 2 | Find username input field and enter 'testuser' | Username field contains 'testuser' | - | PASS |
| 3 | Find password input field and enter 'securepass' | Password field contains 'securepass' | - | PASS |
| 4 | Find and click the login button | Login button clicked, page starts loading home page | - | PASS |
| 5 | Wait up to 10 seconds for welcome message element to appear | Welcome message element is present on the page | Check presence of element located by ID 'welcomeMsg' | PASS |
| 6 | Get text from welcome message element | Welcome message text is 'Welcome, testuser!' | Assert that welcome message text equals 'Welcome, testuser!' | PASS |
| 7 | Close browser and end test | Browser closed | - | PASS |