这是遵循将所有对象放在XML文件中的一个位置或创建每个类的最佳方法



在pom中,每个类文件都是为每个页面创建的,并将页面对象放置在相应的类中。如果我们将所有对象维护在XML或JSON文件中,该怎么办。哪种最有效的方法? 因为POM模型将每个元素命名为每个动作。例如,在以下方法中:

public void clickOnElement(WebElement element) {
element.click();
}

如果将对象放在每个类中,我们如何动态处理?

页面对象模型中的核心原理是,该页面对象中包含与页面的所有内容。您不应该存储定位器等。

在该类文件之外

说,如果您有一些通用的辅助方法,例如clickOnElement()等。然后,您将其存储在Utils类中,然后从页面对象调用它们。

您的页面对象包含

private final By usernameLocator = By.id("username");
private final By passwordLocator = By.id("password");
private final By signInButtonLocator = By.id("signin");
...
public void login(string username, string password)
{
    Utils.findElement(usernameLocator).sendKeys(username);
    Utils.findElement(passwordLocator).sendKeys(password);
    Utils.clickElement(signInButtonLocator);
}

您的Utils类将包含辅助方法

public WebElement findElement(By locator)
{
    return driver.findElement(locator);
}
public void clickElement(By locator)
{
    findElement(locator).click();
}

另外,您可以将每个页面对象从包含这些辅助方法的BasePage类继承。那会将Utils.findElement()更改为findElement()。无论哪种方式,这都是偏爱问题。

您可以使用JSON页面对象模型。通过将jQuery注入控制台,您可以使浏览器为您创建页面的模型对象

供参考:http://www.testautomatimationguru.com/selenium-webdriver-scrilt-page-object-bock-design-pattern-partn-part-part-1/

相关内容

  • 没有找到相关文章