25. Scalable Page Object Model Architecture in Python

Enterprise Page Object Model in Python

class BasePage:
    def __init__(self, page):
        self.page = page

def goto(self, path: str):
self.page.goto(path)

class LoginPage(BasePage):
def __init__(self, page):
super().__init__(page)
self.username_input = page.get_by_label("Username")
self.password_input = page.get_by_label("Password")
self.login_btn = page.get_by_role("button", name="Log In")

def login(self, username, password):
self.username_input.fill(username)
self.password_input.fill(password)
self.login_btn.click()

Task

  • Create a LoginPage class:
  • 1. __init__(self, page) with self.page = page.
  • 2. self.email_input = page.get_by_label("Email").
  • 3. Method fill_email(self, email) calling self.email_input.fill(email).
πŸ’‘Common doubts
Did you like the problem?
Lesson 25 of 37
Python
Loading code editor…
Next