У меня есть два разных (или не -.-) UiObjects, и я хочу их сравнить.Как сравнить UiObject в Ui Automator
Я вижу, что они одного класса и такого рода вещи, но этого недостаточно.
Я думал об использовании идентификатора ресурса, но я не могу найти способ получить к нему доступ (я хочу сделать это во время выполнения, поэтому просмотрщик автозапуска ui не поможет ...).
Так что я на самом деле просят две вещи:
- Как я должен сравнить два UiObjects (если не 100% положительных, рядом с ним)?
- Есть ли способ получить доступ к идентификатору ресурса?
Заранее спасибо.
EDIT: Моя идея заключается в следующем:
- открыть приложение
- определить его расположение и виджеты
- обнаружить, что взаимодействия с-плюсом с различными виджетами
- выбрать виджет и взаимодействовать с ним
- проверить, если его новый экран или изменения в виджетах
В настоящее время я могу получить доступ к корню дерева компоновки и, таким образом, его дети (как UiObjects) путем выбора первого экземпляра FrameLayout (верно для каждого экрана)
Пример кода:
//I get the first object of the current layout screen by
UiObject obj = new UiObject(new UiSelector().className("android.widget.FrameLayout").instance(0));
/*
code to get rest of the tree ...
*/
/*
code interact with a button
*/
// now I want to see if the screen changed (completely new or if a new widget appeared) or if its the same
// for that I need to know if the objects are the same
// To compare objects I need their id
причина я не написал код, потому что я не думаю, что это действительно добавляет много ... как немного, что важно, так это один я не знаю, как сделать
Для доступа к просмотру необходимо пройти через слушателя? То, что я делаю, имеет сходство с обезьяной, и я хотел быть в состоянии прочитать экран и все такое. –
Конечно, нет, это просто пример.Но я не знаю, как вы захватываете объекты. Вставьте свой код, если вам нужна дополнительная помощь. –
Я отредактировал свое начальное сообщение, чтобы лучше объяснить мою цель. –