May 14, 2024

Page Object Model (POM) design pattern

Page Object Model (POM) design pattern

The Page Object Model (POM) is a design pattern used in test automation to enhance test maintenance and readability. It encapsulates web pages into reusable classes, separating page elements and actions.

Examples

// Example 1: LoginPage class using POM
public class LoginPage {
    private WebDriver driver;

    public LoginPage(WebDriver driver) {
        this.driver = driver;
    }

    public void enterUsername(String username) {
        driver.findElement(By.id("username")).sendKeys(username);
    }

    public void enterPassword(String password) {
        driver.findElement(By.id("password")).sendKeys(password);
    }

    public void clickLoginButton() {
        driver.findElement(By.id("loginButton")).click();
    }
}
// Example 2: Test class using LoginPage
public class LoginTest {
    WebDriver driver = new ChromeDriver();
    LoginPage loginPage = new LoginPage(driver);

    @Test
    public void loginTest() {
        loginPage.enterUsername("exampleUser");
        loginPage.enterPassword("password123");
        loginPage.clickLoginButton();
    }
}
// Example 3: HomePage class using POM
public class HomePage {
    private WebDriver driver;

    public HomePage(WebDriver driver) {
        this.driver = driver;
    }

    public boolean isUserLoggedIn() {
        return driver.findElement(By.id("logoutButton")).isDisplayed();
    }
}

FAQ (interview questions and answers)

  1. What is the Page Object Model (POM) design pattern?
    A design pattern for enhancing test maintenance and readability
    A programming language
    A testing framework
  2. How does the Page Object Model (POM) pattern enhance test automation?
    By executing test cases
    By generating test reports
    By encapsulating web pages into reusable classes
  3. What is the main benefit of using the Page Object Model (POM) pattern?
    Simplifying test execution
    Enhancing test maintenance and readability
    Speeding up test development
  4. How can you implement the Page Object Model (POM) pattern in test automation?
    By using Maven
    By encapsulating web pages into classes and separating page elements and actions
    By executing test cases
  5. What problem does the Page Object Model (POM) pattern solve?
    Generating test data
    Reusability of web pages by encapsulating page elements and actions
    Executing test cases

Your Total Score: 0 out of 5

Remember to just comment if you have any doubts or queries.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.