我想知道应该在哪里实例化我的 Page 对象? 这是我的项目层次结构:
Pages:包含带有构造函数的所有页面对象,例如
public LoginPage extends BasePage
{
super(driver);
PageFactory.initElements(driver, this);
}
我的 BasePage 包含所有常用方法,例如表处理、从 webtable 收集数据等。
我有一个包含所有页面对象实例化的baseTest,我的测试扩展了此类。
LoginPage loginPage = new LoginPage(driver);
我还有用于导航、数据库连接、自定义等待等的辅助(非静态)类。
有什么最佳实践吗? Basetest 是实例化它们的正确位置吗?
谢谢!
最佳答案
我在测试代码中实例化页面对象,但不实例化基类,因为场景需要。例如,
@Test(dataProvider = PROVIDER)
public void testLogin(WebDriver driver, Info info) {
Login login = new Login(driver);
assertTrue(login.isDisplayed());
login.enterCredentials(info.getUser(), info.getPw());
Welcome welcome = new Welcome(driver);
assertTrue(welcome.isDisplayed());
}
这只是使用页面对象的一种方法。
小心不要编写太多的“帮助”类,或者继承层次结构太深。
关于java - 页面对象应该在哪里实例化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727174/