def __init__(self, page) -> None:
super().__init__(page)
# Τα πεδία έχουν κανονικές ετικέτες, οπότε τα ψάχνω με τον ίδιο τρόπο που τα βλέπει ένας χρήστης,
# όχι με το id ή την κλάση CSS, που μπορεί να μετονομάσει οποιαδήποτε στιγμή ο σχεδιαστής
self.username_input = page.get_by_label("Username")
self.password_input = page.get_by_label("Password")
self.login_button = page.get_by_role("button", name="Login")
# Η φόρμα είναι απαραίτητη για να ελέγξουμε ότι δεν έχουμε μετακινηθεί σε αρνητικά τεστ
self.login_form = page.locator("form#login")
# Το μήνυμα flash, είναι το ίδιο για επιτυχία και σφάλμα
self.flash_message = page.locator("#flash")
def fill_credentials(self, username: str, password: str):
self.username_input.fill(username)
self.password_input.fill(password)
return self
def login(self, username: str, password: str) -> SecurePage:
"""