Хочу сделать тесты UI для андроид приложения - прокликивание нужных кнопок, проверка, что все выводится нормально и не сломались используемые методы API.
На экране логина делаю performClick на кнопке "Войти", жду waitForIdleSync(), проверяю что открылась MainActivity
При нажатии на кнопку открывается ProgressBar, который крутится пока в фоне выполняются запросы авторизации, получения настроек и прочие. После выполнения всех запросов ProgressBar закрывается и открывается нужная активити.
Проблема в том, что idle наступает сразу после открытия ProgressBar. А как подождать открытия нужной активити?
Пока вижу только вариант с созданием коллбека в активити авторизации setOnRequestsDoneListener, хотел узнать есть ли лучшие идеи
ну так все правильно. вы запускаете диалог, и активити, его запустившее - входит в IDLE. Вы, видимо, запускаете AsynkTask, и в onPostExecute стартуете MainActivity? вот как бы после этого и нужно проверять... тоесть ProgressBar.dismis; waitForIdleSync(); startActivity();