頁面物件模型(POM) 是Selenium WebDriver 中的一種設計模式,透過將網頁上的Web 元素和操作抽象化為稱為頁面物件的可重用類別來幫助增強測試維護和可擴展性。
使用 POM 的好處:
在此範例中,我們將把 WebElement 定位器分離到一個單獨的類別中,並使用 @FindBy 註解來提高清晰度和可維護性。
LoginPageElements.java
class LoginPageElements { WebDriver driver; @FindBy(id = "username") WebElement usernameField; @FindBy(id = "password") WebElement passwordField; @FindBy(id = "loginButton") WebElement loginButton; public LoginPageElements(WebDriver driver) { this.driver = driver; PageFactory.initElements(driver, this); } }
LoginPage.java:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.PageFactory; public class LoginPage { private WebDriver driver; private LoginPageElements elements; public LoginPage(WebDriver driver) { this.driver = driver; this.elements = new LoginPageElements(driver); PageFactory.initElements(driver, this); } public void enterUsername(String username) { elements.usernameField.sendKeys(username); } public void enterPassword(String password) { elements.passwordField.sendKeys(password); } public void clickLoginButton() { elements.loginButton.click(); } }
說明:
以上是什麼是頁面物件模型 (POM),它對 Selenium 自動化測試有什麼好處? #面試問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!