26. Enterprise Page Object Model Architecture in Java

Enterprise Page Object Architecture

// BasePage.java
public abstract class BasePage {
    protected final Page page;

public BasePage(Page page) {
this.page = page;
}

public void navigate(String path) {
page.navigate(path);
}
}

// LoginPage.java
public class LoginPage extends BasePage {
private final Locator usernameInput;
private final Locator passwordInput;
private final Locator submitBtn;

public LoginPage(Page page) {
super(page);
this.usernameInput = page.getByLabel("Username");
this.passwordInput = page.getByLabel("Password");
this.submitBtn = page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Log In"));
}

public void login(String user, String pass) {
usernameInput.fill(user);
passwordInput.fill(pass);
submitBtn.click();
}
}

Task

  • Create a simple LoginPage constructor:
  • 1. Accept Page page.
  • 2. Initialize Locator emailInput with page.getByLabel("Email").
  • 3. Expose getEmailInput() returning the locator.
πŸ’‘Common doubts
Did you like the problem?
Lesson 26 of 38
Java
Loading code editor…
Next