Junior — Middle
Vysvetlite rozdiely medzi prístupmi Page Factory a Page Object Model v automatizovanom testovaní
sobes.tech AI
Odpoveď od AI
Page Object Model (POM) — je návrhový vzor v automatizácii testovania, ktorý predpokladá vytváranie tried objektov pre každú stránku aplikácie. V týchto triedach sú popísané prvky stránky a metódy pre ich interakciu. To zlepšuje čitateľnosť a údržbu testov.
Page Factory — je rozšírenie POM, napríklad poskytované v Selenium, ktoré zjednodušuje inicializáciu prvkov stránky pomocou anotácií (@FindBy). Page Factory inicializuje automaticky webové prvky pri vytváraní objektu stránky, čím znižuje opakujúci sa kód.
Hlavné rozdiely:
- POM — koncept, vzor, ktorý možno realizovať rôznymi spôsobmi.
- Page Factory — konkrétna implementácia POM s použitím anotácií a lenivou inicializáciou prvkov.
Príklad s Page Factory v Jave:
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();
}
}