【发布时间】:2019-09-03 06:49:23
【问题描述】:
我正在尝试在页面对象模型中构建 Cucumber Java 框架。我已经创建了基本框架并且工作正常,但是对如何初始化页面感到困惑。我注意到在大多数教程中,他们已经在构造函数本身中初始化了页面。
例子:
public LoginPage(WebDriver driver)
{
this.driver = driver;
PageFactory.initElements(driver, this);
}
同样在所有页面类中,它们在构造函数本身中添加了initElements 方法。
但是有些网站我注意到不是在构造函数中初始化所有页面,而是在构造函数中初始化的第一页以及在某些方法的返回语句中初始化的所有其他页面(最后在当前页面中执行)。如果方法“login”是LoginPage.java 中的最后一个方法,那么它将初始化HomePage 作为返回类型。
例子:
public HomePage login(String un, String pw)
{
...
...
return PageFactory. initElements(driver, HomePage.class);
}
我的疑问:哪一种是正确的实施方法和高效的方法?
【问题讨论】:
标签: java selenium selenium-webdriver page-factory