Установите элемент Spinner с эспрессо

Я хочу знать, как установить элемент в счетчике при тестировании эспрессо.

onView(withId(R.id.spinner_gender)).perform(click());
onData(allOf(is(instanceOf(String.class)))).atPosition(0).perform(click());

Этот код выше не работает:/


person Jose    schedule 10.01.2017    source источник
comment
Проверьте этот ответ: stackoverflow.com/questions/37615658/ Его проголосовали против, но это действительно сработало для меня   -  person jeprubio    schedule 11.01.2017


Ответы (1)


Ваш фрагмент кода выглядит правильно, так что может быть проблема с другой частью вашего тестового класса? Вы получаете исключение или трассировку стека, с помощью которой вы можете обновить свой вопрос? Также ознакомьтесь с документацией по эспрессо, чтобы узнать больше. объяснение.

Посмотрите небольшой пример кода того, как вы можете выбрать параметр счетчика по тексту или по его положению.

@RunWith(AndroidJUnit4.class)
public class BasicEspressoTest {
    @Rule
    public ActivityTestRule<MainActivity> testRule = new ActivityTestRule<>(MainActivity.class);

    @Test
    public void selectBySpinnerPosition() throws Exception {
        onView(withId(R.id.spinner)).perform(click());
        onData(allOf(is(instanceOf(String.class)))).atPosition(0).perform(click());
    }

    @Test
    public void selectBySpinnerText() throws Exception {
        onView(withId(R.id.spinner)).perform(click());
        onData(allOf(is(instanceOf(String.class)), is("spinner's text"))).perform(click());
    }
}
person Kai    schedule 08.05.2017