This test tries logging in with different usernames and passwords. It checks if login succeeds or fails as expected. This way, many cases are covered with one test function.
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
def test_login(username, password):
driver = webdriver.Chrome()
driver.get("https://example.com/login")
driver.find_element(By.ID, "username").send_keys(username)
driver.find_element(By.ID, "password").send_keys(password)
driver.find_element(By.ID, "login-button").click()
time.sleep(1) # wait for page to load
success = "Welcome" in driver.page_source
driver.quit()
assert success, f"Login failed for {username}"
# Data sets to test
credentials = [
("validUser", "validPass"),
("invalidUser", "validPass"),
("validUser", "wrongPass")
]
for user, pwd in credentials:
try:
test_login(user, pwd)
print(f"Test passed for {user}")
except AssertionError as e:
print(e)