【发布时间】:2019-10-01 19:03:16
【问题描述】:
有什么方法可以参数化我们传递的字符串以使用页面工厂创建页面对象?
例如:
String v = "password";
@FindBy(name=v)
private WebElementFacade password_Field;
我正在尝试将字符串 v 推送到 @FindBy 中,但出现错误。
我得到 注释属性 FindBy.name 的值必须是常量表达式。
【问题讨论】:
-
在您的问题中添加异常堆栈跟踪。
-
如果您使用 final 关键字声明变量 v,应该可以工作。
-
我同意如果我们使用 final 关键字,它会起作用。但我希望 v 的值应该是可变的。有没有办法。
-
注解值在编译时必须是可解析的。需要是原语或字符串。即使您输入 final 关键字,它甚至也不能是引用属性文件的东西,因为它将在运行时解析。
标签: selenium selenium-webdriver cucumber serenity-bdd