ページ オブジェクト モデル (POM) は、Web 要素と Web ページ上のアクションをページ オブジェクトと呼ばれる再利用可能なクラスに抽象化することで、テストのメンテナンスとスケーラビリティの強化に役立つ Selenium WebDriver の設計パターンです。
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(); } }
説明:
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3