pagefactory.initelements和类实例之间的区别

时间:2019-08-20 01:59:11

标签: instance page-factory

我是Java新手。

  1. 我无法了解Pagefactory.initelements和Class实例之间的区别。有人可以帮我吗?出现此问题的原因是:

我能看到的唯一区别是webelement的初始化,除此之外没有什么其他的。两者都可用于访问类变量和方法。

  1. Somename.class与'new someclass()'相同吗?

1 个答案:

答案 0 :(得分:0)

Page Factory使用Java Reflection API。它还有2个供开发人员使用的公共构造函数。人们接受已经实例化的对象作为参数。第二个允许您传递Object.class,它不是实例,更像是类的架构。

PageFactory.initElements(driver, this);

上面的方法接受Page Object的实例,已经创建的实例。然后,它得到一个模式,读取字段并基于@FindBy批注对其进行初始化。

PageFactory.initElements(driver, PageObject.class)

上面的类已经具有架构,因此它初始化字段并返回PageObject类的新创建实例。