Sobes.tech
Junior — Middle

Otomatik testlerde Page Factory ve Page Object Model yaklaşımları arasındaki farkları açıklayın

sobes.tech yapay zeka

AI'dan gelen yanıt

Page Object Model (POM) — otomasyon testlerinde tasarım deseni olup, uygulamanın her sayfası için nesne sınıflarının oluşturulmasını öngörür. Bu sınıflarda sayfa öğeleri ve bunlarla etkileşim yöntemleri tanımlanır. Bu, testlerin okunabilirliğini ve bakımını artırır.

Page Factory — POM'un bir uzantısıdır ve örneğin Selenium'da sağlanır. Sayfa öğelerinin @FindBy anotasyonları kullanılarak başlatılmasını kolaylaştırır. Page Factory, sayfa nesnesi oluşturulurken web öğelerini otomatik olarak başlatır, böylece tekrar eden kodu azaltır.

Ana farklar:

  • POM — kavram, desen, farklı şekillerde uygulanabilir.
  • Page Factory — anotasyonlar ve tembel başlatma kullanımıyla POM'un somut bir uygulamasıdır.

Java'da Page Factory örneği:

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();
    }
}