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 LoginTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.get('https://example.com/login')
def test_login(self):
driver = self.driver
# Wait until the username field is present
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'username')))
username_input = driver.find_element(By.ID, 'username')
password_input = driver.find_element(By.ID, 'password')
login_button = driver.find_element(By.ID, 'login-btn')
username_input.send_keys('testuser')
password_input.send_keys('password123')
login_button.click()
# Wait until redirected to dashboard
WebDriverWait(driver, 10).until(EC.url_contains('/dashboard'))
self.assertIn('/dashboard', driver.current_url)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()