我是Java新手。
我能看到的唯一区别是webelement的初始化,除此之外没有什么其他的。两者都可用于访问类变量和方法。
答案 0 :(得分:0)
Page Factory使用Java Reflection API
。它还有2个供开发人员使用的公共构造函数。人们接受已经实例化的对象作为参数。第二个允许您传递Object.class
,它不是实例,更像是类的架构。
PageFactory.initElements(driver, this);
上面的方法接受Page Object的实例,已经创建的实例。然后,它得到一个模式,读取字段并基于@FindBy
批注对其进行初始化。
PageFactory.initElements(driver, PageObject.class)
上面的类已经具有架构,因此它初始化字段并返回PageObject
类的新创建实例。