我已将所有<strong> xpaths 和 定位器 存储在属性文件中。我试图在Page Object Repository
中使用它们,并按@FindBy
注释查找元素。我想在这里使用所有存储的定位器。
在@FindBy
中使用属性文件值时,我收到编译错误the value for annotation must be a constant expression
。
有人可以帮我理解吗?如果可能的话,请建议我一些解决方法。
答案 0 :(得分:1)
必须在编译时中评估@FindBy
注释的值,即在程序开始运行之前已知该值。属性文件中的值在运行时中进行评估,因此无法在page factory
中使用它们。
您拥有的选项
@FindBy
代码中,而不是从属性文件中读取。page factory
并初始化元素。page factory
并仅在使用时初始化元素。