Иерархия представления дампов ADB отличается от UiAutomator в Android Studio? - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь получить элемент в стороннем Android-приложении, используя его resourceId.Когда я использую команду adb shell uiautomator dump, иерархия представления XML показывает элемент, который я ищу.Однако, когда я пытаюсь получить элемент с помощью UiAutomator в Android Studio при выполнении UITest с использованием device.findObject(new UiSelector().resourceId(myResourceID)), такого элемента нет.

Есть ли что-нибудь, что могло бы вызвать такое поведение?Я очень новичок в Android, поэтому, пожалуйста, дайте мне знать, если мне нужно добавить больше деталей.Спасибо!

1 Ответ

0 голосов
/ 30 мая 2018

Причина проблемы не может быть извлечена из информации, которую вы разместили.Между дампами может быть разница.

Однако culebra.dtmilano.com может быть полезным в вашем случае, так как вы можете выбрать Представления непосредственно в дереве, как показано здесь (зависаниеover Settings)

enter image description here

и соответствующий код Java (в данном случае) или Python, Kotlin и т. д. генерируется, гарантируя, что селектор для View являетсяправильно

@Test
public void culebraGeneratedTest() throws Exception {
    mDevice.findObject(By.desc("Settings").clazz("android.widget.TextView").text("Settings").pkg("com.google.android.apps.nexuslauncher")).clickAndWait(Until.newWindow(), DEFAULT_TIMEOUT);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...