Java 在Appium版本中替换名称定位器策略>;=1.5.0

Java 在Appium版本中替换名称定位器策略>;=1.5.0,java,android,ios,appium,Java,Android,Ios,Appium,我正在使用java和appium为Android/iOS编写移动应用程序自动化测试用例 我已将appium版本从1.4.16升级到1.5.3。现在我无法使用名称定位器 名称定位器:- By.name("name here") 在Appium中删除长时间不推荐使用的名称定位器策略 我尝试了findElementByAccessibilityId定位器。但这对我没有帮助 driver.findElementByAccessibilityId("name"); 仅供参考,我没有使用它的特定id或类

我正在使用java和appium为Android/iOS编写移动应用程序自动化测试用例

我已将appium版本从1.4.16升级到1.5.3。现在我无法使用名称定位器

名称定位器:-

By.name("name here")
在Appium中删除长时间不推荐使用的名称定位器策略

我尝试了findElementByAccessibilityId定位器。但这对我没有帮助

driver.findElementByAccessibilityId("name");

仅供参考,我没有使用它的特定id或类。名称定位器的替代品是什么?

如果accessibilityID不能满足您的需求,您是否尝试过使用xpath和以下类似的东西

By.xpath("//*[@name='enter name here']")

将通配符与xpath一起使用可能会非常慢,因为它将扫描整个树。如果有多个同名项,则很容易返回错误的元素。尽可能使用精确的定位器。示例:
By.xpath(“//UIAButton[@name='foo']”)

我尝试过xpath。它的作品。我指的是“文本”作为名称。accessibilityID可以访问哪些属性?我相信iOS和Android是不同的:iOS:它首先查找匹配的accessibilityID;如果没有找到,它将查找label属性。从那里,我发现它看起来像是好的ole名称属性(尽管我知道许多人使用它作为名称定位器的替代品并不成功)。Android:它看起来像是appium 1.5中的Android:id属性“名称”定位器不推荐使用“删除长期不推荐使用的名称定位器策略”此链接将帮助您: