Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对于页面对象类中的方法,使用public void或public[name of page]更好吗?_Java_Selenium_Selenium Webdriver - Fatal编程技术网

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

Java 对于页面对象类中的方法,使用public void或public[name of page]更好吗?,java,selenium,selenium-webdriver,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 goToNe

我遵循页面对象模型。假设我有一个扩展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使用是更好的做法吗?像这样:

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

这取决于你想要实现什么

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

loginPage.enteringUsername("uname")
         .enteringPassword("pwd")
         .submit();
如果你不喜欢,你可以让它们“无效”


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


检查这个设计

这没什么大不了的,我认为两者都可以,但我更喜欢使用第一种方法,因为有时候写一些东西更方便:newPage.clickRed().clickBlue()…哦,链接对吗?很高兴知道谢谢,我将查看页面碎片,以前从未听说过!