对页面对象类中的方法使用public void或public [page of page]更好吗?

时间:2017-05-24 12:46:07

标签: java selenium selenium-webdriver

我正在关注页面对象模型。假设我有一个扩展BasePage的NewPage类,在类中我有这样的方法:

public NewPage clickRed(){
    driver.findElement(element1).click();
    return this;
}

public NewPage clickBlue(){
    driver.findElement(element2).click();
    return this;
}

public OtherPage goToNextPage(){
    this.clickRed();
    this.clickBlue();
    super.clickNextButton();
    return new OtherPage(driver);
}

}

这没关系,或者对于clickRed()和clickBlue()方法,将这些方法作为公共无效更好吗?像这样:

public void clickRed(){
    driver.findElement(element1).click();
}

1 个答案:

答案 0 :(得分:1)

这取决于你想要达到的目标。

我喜欢流利的风格。因此,登录页面对象中的每个方法都返回' this'。

loginPage.enteringUsername("uname")
         .enteringPassword("pwd")
         .submit();

如果您不喜欢,可以让他们“无视”。

但为什么每次在页面对象中都使用driver.findElement找到元素?

检查此设计。 http://www.testautomationguru.com/arquillian-graphene-page-fragments/