23 / 80 · 12 Programming for QA · Data Structures for QA← prev⊞ allnext →☰ Read as one page
3.5Tuples and Named Tuples
Tuples are immutable sequences — useful for fixed data like locator pairs in page objects.
from selenium.webdriver.common.by import By
# Tuple for locators (cannot be accidentally modified)
EMAIL_INPUT = (By.CSS_SELECTOR, "input[name='email']")
PASSWORD_INPUT = (By.CSS_SELECTOR, "input[name='password']")
driver.find_element(*EMAIL_INPUT).send_keys("test@example.com")
# Named tuples for structured test data
from collections import namedtuple
TestUser = namedtuple("TestUser", ["email", "password", "role"])
admin = TestUser("admin@test.com", "AdminPass123!", "admin")
viewer = TestUser("viewer@test.com", "ViewerPass123!", "viewer")
assert admin.role == "admin"