2015-11-10 2 views
10

У меня есть пользовательский viewpager (с отключенным отключением по причинам), работающим с tablayout. Содержимое изменяется на основе выбранной вкладки. Я хочу проверить это с помощью эспрессо: 1) Нажмите на конкретную вкладку 2) Проверьте некоторые данные на определенной странице вкладки Как это сделать. Я новичок в эспрессоКак установить текущую вкладку в viewpager с tablayout

ответ

-3

Эспрессо следует использовать, когда вы четко знаете, что ожидается в пользовательском интерфейсе, и вы можете проверить его.

В вашем случае, чтобы перейти на любую вкладку, вы можете использовать действие вида, чтобы нажать на эту вкладку. Чтобы проверить данные, сначала вы должны знать, какие данные должны присутствовать на этой вкладке, а затем просто использовать сопоставления, чтобы проверить, отображаются ли они или нет.

+1

Это не объясняет, как выбрать конкретную вкладку в ViewPager. –

12

Есть несколько способов сделать это, легко один, чтобы выбрать элемент по названию вкладки, я использую этот код:

Matcher<View> matcher = allOf(withText("TAB TITLE"), 
      isDescendantOfA(withId(R.id.customTab))); 
onView(matcher).perform(click()); 
SystemClock.sleep(800); // Wait a little until the content is loaded 

Вы только должны адаптировать сличитель к макету. Затем проверьте содержимое.

Например:

onView(withId(R.id.someId)).check(matches(isCompletelyDisplayed())); 

или:

onView(withText(R.string.someText)).check(matches(isCompletelyDisplayed())); 

Вы можете найти здесь примеры в Указание Посмотреть Сличитель раздел: http://developer.android.com/intl/es/training/testing/ui-testing/espresso-testing.html

Если вы используете RecyclerView к показать содержимое вкладок, посмотрите на это: Espresso RecyclerView inside ViewPager

Смежные вопросы