Эспрессо - проверьте наличие определенного элемента в определенном фрагменте окна просмотра

У меня есть ViewPager, который содержит 3 фрагмента, и каждый фрагмент содержит recyclerview.

Когда страница запущена -> FragmentA выбирается по умолчанию, и я проверяю конкретный идентификатор внутри FragmentA, и тест успешен.

Теперь я использовал swifeLeft () для перехода к FragmentB. Это сработало.

Теперь я проверяю конкретный элемент во фрагменте B. Но он выдает ошибку как NoMatchingViewException. В журнале иерархии представлений я вижу только иерархию представлений FragmentA. Как-то после смахивания иерархия представлений не обновляется.

Кто-то сталкивался с такой же проблемой?

1
0
151
1

Ответы 1

Вы пробовали добавить сон сразу после свайпа? Я могу помочь.

Espresso не может обнаружить асинхронную работу, поэтому он может выйти из строя, потому что ваши данные еще не загружены (из-за медленной сети / базы данных и т. д.), Когда он проверяет представление, с которым вы хотите взаимодействовать. Итак, лучшее решение - реализовать IdlingResource, чтобы сообщать о них эспрессо. Вы можете взглянуть на этот образец:

https://github.com/googlesamples/android-testing/tree/master/ui/espresso/IdlingResourceSample

Другие вопросы по теме