Я тестирую приложение Android с графиком индикатора, где элемент на экране (индикатор) перерисовывается каждую секунду.Идея состоит в том, что я нажимаю кнопку запуска, и прибор включается, а когда я нажимаю кнопку остановки, прибор выключается.
Вручную это работает нормально, но когда я запускаю свои тесты Espresso, тест зависает после нажатия «Пуск», потому что приложение никогда не работает, так как оно перерисовывается каждую секунду.Как и ожидалось, я получаю:
android.support.test.espresso.AppNotIdleException: зацикливание для 13452 итераций в течение 60 секунд.Следующие условия ожидания не выполнены.
Я обнаружил noActivity () в Документах для разработчиков Android , полагая, что это может быть полезно, но я не могу понять, как правильно его использовать, и не могунайти хорошие примеры.Кнопка «Стоп» явно находится на странице, но этот шаг пропущен, и он переходит прямо к tearDown (), который говорит мне, что я не правильно его использую или не понимаю, что он делает:
onView(withId(R.id.stop_button)).noActivity().perform()
Так как мне преодолеть это?Есть ли простой способ сказать Espresso не использовать ресурсы холостого хода для определенного теста или его части?Нужно ли писать ресурс на холостом ходу, который говорит, что когда кнопка «Стоп» найдена, приложение не работаетЕсть ли другой метод, который я мог бы пропустить?
FWIW Я использую Kotlin, но я также приветствую ответы на Java, так как они очень похожи.Спасибо!