Эспрессо: как щелкнуть элемент в позиции 2 в AdapterView

Я новичок в эспрессо и мобильном тестировании, и я столкнулся с проблемой. Мне нужно найти контакт в приложении и щелкнуть контакт, отображаемый во второй позиции.

Я проверил много похожих постов, но в моем примере ни один из них не работал. Код для поиска: onView(withId(R.id.textSearch)).perform(typeText("pa"));

Код для выбора: onView(withText("Parth Vyas")).perform(click());

Но здесь, если я хочу выбрать любой элемент, отображаемый в позиции 2, как я могу это сделать?

Вы можете увидеть stackoverflow.com/questions/28019843/… и stackoverflow.com/questions/28476507/…

p.alexey 21.10.2018 08:21
0
1
599
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы знаете позицию после поиска, вы можете попробовать что-то вроде:

onData(anything()).inAdapterView(YOUR_ADAPTER_VIEW_MATCHER).atPosition(2).perform(click());

Спасибо, я пробовал это, но я не могу найти сопоставитель представления адаптера. В моем приложении есть cardview, который содержит текстовое представление. И все это сопоставляется с классом, который расширяется, классом ArrayAdapter. Знаю, это может показаться наивным, но это мой первый Android-проект.

Parth Vyas 22.10.2018 09:06

Если вы знаете, что на экране только один вид адаптера, вы можете либо сделать .inAdapterView(isAssignableFrom(AdapterView.class)), либо просто отбросить его.

Aaron 22.10.2018 09:53

Спасибо, Аарон. У меня это сработало. Извините за ошибку. Просто любитель мобильного мира.

Parth Vyas 22.10.2018 20:40

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