Разные xpath отображаются для разных версий Android OS - PullRequest
0 голосов
/ 24 сентября 2019

Я работаю над родным приложением для Android.Мне нужно автоматизировать процесс, и для этого я использую Appium для получения информации об элементах, такой как xpaths, id и т. Д. Моя цель - автоматизировать процесс на всех устройствах Android во всех версиях Android, но я столкнулся с проблемой.Я использую две версии Android, одна из которых 6.0.1, а другая - 9.0, моя проблема в том, что при подключении Android 6.0.1 показывается xpath для элемента, например, для

xpath = "//android.widget.EditText[@text='username']"

И для того жеВ Android версии 9.0 отображается:

/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.RelativeLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View[5]/android.view.View[2]/android.view.View/android.view.View/android.view.View[2]/android.widget.EditText

Что сложно использовать.

Почему в обеих версиях Android так много различий в xpath.Также я обнаружил некоторое необычное поведение в Appium, так как «подсказка» в поле ввода доступна в Android 6.0.1, но для того же поля «подсказка» недоступна на Android 9.0.

1 Ответ

0 голосов
/ 24 сентября 2019

Идентифицируйте свой элемент с помощью идентификатора, класса, имени или другого определенного атрибута.

XPath следует использовать только в качестве крайней меры или если селектор действительно сложен и / или содержит динамические данные.Но даже тогда вы обычно можете найти более надежный селектор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...