```html Page Object Model – Interactive Checklist

Page Object Model

Selenium – Interactive Checklist

Tick từng mục bên dưới để kiểm tra bạn đã áp dụng đúng Page Object Model chưa. Hoàn thành đủ các tiêu chí trong mỗi cột để nhận badge Hoàn thành.

Page Class

Cấu trúc lớp trang

Tiến độ 0 / 3
  • Đặt locator private

    Khai báo private By hoặc private WebElement — không để public.

  • Viết method rõ nghĩa

    Đặt tên hành động như login(), clickSubmit() — đọc là hiểu ngay.

  • Constructor nhận WebDriver

    Constructor nhận WebDriver driver và gán vào field — không tạo driver bên trong.

Test Class

Lớp kiểm thử

Tiến độ 0 / 3
  • Import Page Object

    Thêm import đúng package của Page Class vào đầu file test.

  • Khởi tạo trong @BeforeEach

    Tạo instance Page Object trong @BeforeEach — tránh khởi tạo lặp lại trong từng test.

  • Chỉ gọi method, không viết locator

    Test chỉ dùng method như page.login() — tuyệt đối không có By.id() ở đây.

Đang thực hiện...

Tick đủ các mục để hoàn thành checklist.

0/6

tổng mục

LoginPage.java
// Page Class
public class LoginPage {
  private WebDriver driver;
  private By email =
      By.id("email");
  private By password =
      By.id("password");

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

  public void login(
      String u, String p) {
    driver.findElement(email)
          .sendKeys(u);
    driver.findElement(password)
          .sendKeys(p);
  }
}
LoginTest.java
// Test Class
import pages.LoginPage;

class LoginTest {
  WebDriver driver;
  LoginPage loginPage;

  @BeforeEach
  void setUp() {
    driver = new
      ChromeDriver();
    loginPage =
      new LoginPage(driver);
  }

  @Test
  void testLogin() {
    loginPage.login(
      "user", "pass");
  }
}
```