эспрессо, как проверить, что элемент, по которому щелкнули на утилите, отображается в окне просмотра - PullRequest
0 голосов
/ 04 января 2019

При использовании эспрессо для выполнения теста необходимо щелкнуть элемент в recyclerView, чтобы открыть его в viewPager, и чтобы проверить, что содержимое текущего представления в viewpager является тем, на который щелкают в recyclerView.

var viewInteraction = onView(withId(R.id.recyclerview_list))
         .perform(RecyclerViewActions
                    .scrollToPosition<RecyclerView.ViewHolder>(10))
sleep(3000)
viewInteraction.perform(click())

в этом случае recyclerView прокручивается до 10-й позиции, а затем по элементу щелкается, что открывает окно просмотра с содержимым этого 10-го элемента.

Макет для элемента в recyclerViewимеет TextView, который имеет R.id.content_lablel.И макет в фрагменте, содержащем видовой пейджер, также имеет TextView с R.id.content_label, который должен отображаться с тем же текстом метки для 10-го элемента recyclerView.

Он может проверить, открыт ли viewPagerи отображается представление с идентификатором R.id.content_label:

// check viewerPager is opened
onView(withId(R.id.pagerFragmentContainer)).check(matches(isDisplayed()))
//check the TextView with id of R.id.content_label is in display 
onView(allOf(withId(R.id.content_label), isCompletelyDisplayed())

, но как проверить, что текст TextView с этим R.id.content_label совпадает с текстом в 10-м элементе recycleView?

в основном ищет что-то вроде

onView(allOf(withId(R.id.content_label), isCompletelyDisplayed()).check(matches(withText("Hello!")

, но текст "Hello!" на самом деле является текстом из 10-го элемента recyclerView, а не жестко закодирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...