Я новичок в эспрессо и мобильном тестировании, и я столкнулся с проблемой. Мне нужно найти контакт в приложении и щелкнуть контакт, отображаемый во второй позиции.
Я проверил много похожих постов, но в моем примере ни один из них не работал.
Код для поиска: onView(withId(R.id.textSearch)).perform(typeText("pa"));
Код для выбора: onView(withText("Parth Vyas")).perform(click());
Но здесь, если я хочу выбрать любой элемент, отображаемый в позиции 2, как я могу это сделать?
Если вы знаете позицию после поиска, вы можете попробовать что-то вроде:
onData(anything()).inAdapterView(YOUR_ADAPTER_VIEW_MATCHER).atPosition(2).perform(click());
Спасибо, я пробовал это, но я не могу найти сопоставитель представления адаптера. В моем приложении есть cardview, который содержит текстовое представление. И все это сопоставляется с классом, который расширяется, классом ArrayAdapter. Знаю, это может показаться наивным, но это мой первый Android-проект.
Если вы знаете, что на экране только один вид адаптера, вы можете либо сделать .inAdapterView(isAssignableFrom(AdapterView.class)), либо просто отбросить его.
Спасибо, Аарон. У меня это сработало. Извините за ошибку. Просто любитель мобильного мира.
Вы можете увидеть stackoverflow.com/questions/28019843/… и stackoverflow.com/questions/28476507/…