我正在关注页面对象模型。假设我有一个扩展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();
}
答案 0 :(得分:1)
这取决于你想要达到的目标。
我喜欢流利的风格。因此,登录页面对象中的每个方法都返回' this'。
loginPage.enteringUsername("uname")
.enteringPassword("pwd")
.submit();
如果您不喜欢,可以让他们“无视”。
但为什么每次在页面对象中都使用driver.findElement
找到元素?
检查此设计。 http://www.testautomationguru.com/arquillian-graphene-page-fragments/