是否可以使用new来创建和初始化页面而不是pagefactory.initelements方法

时间:2015-09-28 11:06:51

标签: selenium-webdriver

我正在开发一个基于pagefactory的框架。我之前使用过pagefactory.initements方法来从页面到页面进行初始化和移动。 Init方法基本上和说主页HP = new HomePage(driver);

的工作相同

所以有必要在pagefactory中使用init方法吗? 如果我们不使用它而不是使用new来创建页面,我们会丢失一些东西。

1 个答案:

答案 0 :(得分:1)

如果您使用带有注释的Java PageFactory,那么

PageFactory.initElements(driver, My.class)命令解析注释并设置Java代理类。如果你没有.initElements()你的班级中没有任何WebElements会为他们分配定位器,他们都将为空。

如果您只是想要新建一个页面,可以将.initElements()放在构造函数中,例如:

public class MyPage {

    public MyPage(WebDriver driver) throws Exception {
        PageFactory.initElements(driver, this);
    }
}