Sobes.tech
Junior — Middle

Avtomatlashtirilgan testlarda Page Factory va Page Object Model yondashuvlari o'rtasidagi farqlarni tushuntiring

sobes.tech AI

AIdan javob

Page Object Model (POM) — bu avtomatlashtirish testlarida dizayn shabloni bo‘lib, har bir ilova sahifasi uchun obyekt sinflarini yaratishni nazarda tutadi. Bu sinflarda sahifa elementlari va ular bilan o‘zaro aloqalar uchun metodlar tavsiflanadi. Bu testlarning o‘qilishi va qo‘llab-quvvatlashini yaxshilaydi.

Page Factory — POM ning kengaytmasi bo‘lib, masalan, Seleniumda taqdim etiladi, u sahifa elementlarini @FindBy annotatsiyalari yordamida soddalashtiradi. Page Factory sahifa obyekti yaratilganda web elementlarni avtomatik ravishda boshlashni ta’minlaydi, bu shablon kodni qisqartiradi.

Asosiy farqlar:

  • POM — tushuncha, shablon, uni turli usullarda amalga oshirish mumkin.
  • Page Factory — POM ning aniq amalga oshirilishi bo‘lib, annotatsiyalar va kechiktirilgan boshlashni qo‘llaydi.

Java misolida Page Factory:

public class LoginPage {
    @FindBy(id = "username")
    private WebElement usernameInput;

    @FindBy(id = "password")
    private WebElement passwordInput;

    @FindBy(id = "loginBtn")
    private WebElement loginButton;

    public LoginPage(WebDriver driver) {
        PageFactory.initElements(driver, this);
    }

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