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 TestLoginPage(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.get('https://example.com/login')
def test_login_button_and_success_message(self):
driver = self.driver
wait = WebDriverWait(driver, 10)
# Wait for login button to be clickable
login_button = wait.until(EC.element_to_be_clickable((By.ID, 'login-btn')))
self.assertTrue(login_button.is_displayed())
# Enter username and password
driver.find_element(By.ID, 'username').send_keys('testuser')
driver.find_element(By.ID, 'password').send_keys('password123')
# Click login button
login_button.click()
# Wait for success message
success_message = wait.until(EC.visibility_of_element_located((By.ID, 'success-msg')))
self.assertEqual(success_message.text, 'Login successful!')
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()