Я пытаюсь написать несколько сценариев автоматизации для приложения, которое у меня есть. Я сделал учебник на сайте Robotium и имею общее представление о том, как я могу автоматизировать. Однако из того, что я могу сказать о приложении, которое я тестирую, с помощью средства просмотра иерархии Android я вижу, что все представления не имеют идентификаторов, которые были явно определены.
Как вы можете видеть из снимка экрана, есть представления на вложенных представлениях. Идентификаторы для них читаются как 0x17e0 или 0x17de. Как я могу сослаться на них, в частности, в скрипте robotium? Конечным результатом является то, что я пытаюсь заставить его щелкнуть даже в одном из представлений Text Switcher. До сих пор мне удавалось заставить его работать, только если я давал ему точку пикселя для перехода или если я давал ему текст, который появляется на кнопке (но текст является динамическим и будет плохой тест).
Должен ли я использовать getCurrentViews() для фильтрации текстовых переключателей? Или мне нужно найти способ обойти все дерево, идущее от FrameLayout>RelativeLayout>FrameLayout>LinearLayout>TextSwitcher?
Если мне нужно пройти через все дерево, как мне получить просмотр за просмотром за просмотром?