UIAutomatorViewer, показывающий идентичные идентификаторы ресурса - PullRequest
0 голосов
/ 19 декабря 2018

Я делаю Android Automation для приложения, использующего Appium.Каждый день из приложения приходит новая сборка, и мне приходится проверять код на наличие новых исправлений с помощью автоматизации.Проблема, с которой я сталкиваюсь, состоит в том, что в текущей новой сборке приложения идентификаторы ресурсов всех кнопок и полей, к которым мне нужно получить доступ в автоматизации, стали одинаковыми .Я мог бы использовать Xpath для доступа к определенным элементам, но использование Xpath замедлит автоматизацию.

Я использую UIAutomatorViewer для получения идентификаторов Xpath и ресурсов.

Может ли кто-нибудь помочь мне определить, является ли проблема с идентификатором ресурса , с которой я сталкиваюсь, на стороне Android, или мой UIAumator не работает правильно и показывает те же идентификаторы?

В целях безопасности я не могу поделиться снимком экрана.

Ответы [ 2 ]

0 голосов
/ 22 декабря 2018

Я прошу моих разработчиков всегда ставить идентификаторы всех элементов на экране для целей автоматизации.Также проверьте с разработчиками, если в некоторых случаях они не могут это сделать, тогда xpath может использоваться в некоторых случаях.

0 голосов
/ 20 декабря 2018

Использование Xpath не рекомендуется.Причина в том, что инфраструктура, используемая для генерации XPath, не гарантирует, что XPath останется неизменным между двумя различными исполнениями.

Единственное решение, которое я вижу для вашей проблемы, - попросить разработчика:добавить уникальный идентификатор автоматизации для каждого элемента.Вы можете попросить их ввести уникальный cont-desc в их код.Тогда вы сможете получить доступ к элементу, используя findByAccessibilityId .

MobileElement element = driver.findElementByAccessibilityId("SomeAccessibilityID");
...