【发布时间】:2015-12-30 20:00:26
【问题描述】:
我正在将我的 android apk 的 appPackage 从 com.mycurrentpackage 更改为 com.myfuturepackage。
我将所有元素的 id 定义为
com.mycurrentpackage:id/elementID
目前我发现元素为
@AndroidFindBy(id = "com.mycurrentpackage:id/startup_text1")
@CacheLookup
私有 MobileElement startup_text1;
我希望能够动态更改它。所以我定义了一个静态变量appPackage。
这里是构造函数的部分
...
appPackage = driver.getCapabilities().getCapability("appPackage").toString();
PageFactory.initElements(new AppiumFieldDecorator(this.driver, 30, TimeUnit.SECONDS), this);
...
正如你所见,appPackage 在初始化元素之前已经定义好了。
但是当我这样做时
@AndroidFindBy(id = appPackage+":id/startup_text1")
@CacheLookup
私有 MobileElement startup_text1;
编译时说
错误:(42, 35) java: 属性值必须是常量
还有其他方法吗?
【问题讨论】:
标签: java android selenium-webdriver appium