Selenium webdriver 使用new来创建和初始化页面而不是pagefactory.initelements方法可以吗
我正在开发一个基于pagefactory的框架。我以前曾使用pagefactory.initements方法对页面进行初始化并在页面之间移动。Init方法的作用基本上与Homepage HP=newhomepage(驱动程序)的作用相同 所以有必要在pagefactory中使用init方法吗?Selenium webdriver 使用new来创建和初始化页面而不是pagefactory.initelements方法可以吗,selenium-webdriver,Selenium Webdriver,我正在开发一个基于pagefactory的框架。我以前曾使用pagefactory.initements方法对页面进行初始化并在页面之间移动。Init方法的作用基本上与Homepage HP=newhomepage(驱动程序)的作用相同 所以有必要在pagefactory中使用init方法吗? 如果我们不使用它,而是使用new来创建页面,我们会失去一些东西。如果您使用带有注释的Java PageFactory,是的 PageFactory.initElements(driver,My.class
如果我们不使用它,而是使用new来创建页面,我们会失去一些东西。如果您使用带有注释的Java PageFactory,是的
PageFactory.initElements(driver,My.class)
命令解析注释并设置Java代理类。如果不.initElements()
则类中的所有WebElements都不会分配定位器,并且它们都将为空
如果只想新建页面,可以将.initElements()
放入构造函数中,例如:
public class MyPage {
public MyPage(WebDriver driver) throws Exception {
PageFactory.initElements(driver, this);
}
}
如果我没有使用@findby annotation,那么我可以跳过使用.initelements()完全正确吗?如果你没有使用批注,那么使用PageFactory就没有任何意义。