在页面对象设计模式中,我了解到,在将您带到另一个页面的页面上执行的任何操作都必须返回后一种类型的对象。如下例。从MainPage单击注册将转到RegisterPage。
public class MainPage {
...
public RegisterPage clickRegister() {
registerButton.click();
return PageFactory.initElements(driver, RegisterPage.class);
}
}
在Selenium测试脚本中如何调用clickRegister的示例:
RegisterPage registerpage = MainPage.clickRegister();
我的问题是,RegisterPage的构造函数是否仍然有意义如下所示的PageFactory.initElements()?即使它已经从clickRegister()方法的返回初始化了一次。
public class RegisterPage {
public RegisterPage(WebDriver driver) {
this.driver = driver;
PageFactory.initElements(driver, this);
}
}