【问题标题】:How to write a locator using resource-id in appium如何在 appium 中使用资源 ID 编写定位器
【发布时间】:2020-11-18 12:26:23
【问题描述】:
@AndroidFindBy(id="com.com-uat:/id")
private MobileElement id;
这里我的资源 id 有一个 packageName,但是我的 packageName 会根据环境而变化
前Uat- com.com-uatprod- com.com.prod。
现在我该如何让它动态化。
【问题讨论】:
标签:
automation
appium
android-uiautomator
【解决方案1】:
注解中有no way动态生成字符串。
我检查了 AndroidFindBy 注释,但没有找到一种简单的方法来扩展它,使其支持基于 env 的不同值。
但通常你不需要在值中传递包名,id 就足够了:
@AndroidFindBy(id="nome_button")
private MobileElement homeButton;
应该像定义它一样工作
@AndroidFindBy(id="com.com-uat:id/home_button")
private MobileElement homeButton;
当它是Android原生元素时,你需要提供包,但在这种情况下,UAT和PROD是一样的:
@FindBy(id = "android:id/text1")
private WebElement textView;