我是java新手。
- 我无法理解 Pagefactory.initelements 和 Class 实例之间的区别。有人可以帮我吗?这个问题的原因是:
我能看到的唯一区别是 webelement 初始化,除此之外什么都没有。两者都可用于访问类变量和方法。
- Somename.class 会和 'new someclass()' 做同样的事情吗?
我是java新手。
我能看到的唯一区别是 webelement 初始化,除此之外什么都没有。两者都可用于访问类变量和方法。
页面工厂使用Java Reflection API
. 它还为开发人员提供了 2 个公共构造函数。一个接受已经实例化的对象作为参数。第二个允许您传递Object.class
不是实例的,它更像是一个类的模式。
PageFactory.initElements(driver, this);
上面的方法接受页面对象的实例,已经创建的实例。然后,它获取它的模式,读取字段并根据@FindBy
注释对其进行初始化。
PageFactory.initElements(driver, PageObject.class)
上面的类已经有模式,所以它初始化字段并返回一个新创建的PageObject
类实例。