Почему я получаю espresso.Исключение PerformException: ошибка при выполнении ‘прокрутки до’на просмотр’ с идентификатором?

#android #android-espresso

#Android #android-espresso

Вопрос:

Почему я получаю ошибку следующая ошибка в моем тесте Espresso:

android.support.test.espresso.Исключение PerformException: ошибка при выполнении ‘прокрутки до’ в режиме просмотра’ с идентификатором: com.espresso:id/locate_car_button’.

Вот код кнопки, которую я тестирую:

 public static void clickButtonWithId(@IdRes int id) {
  onView(withId(id)).check(matches(isDisplayed())).perform(scrollTo()).perform(click());
}
  

Комментарии:

1. Для чего вы используете свою ‘scroll to’, это ListView или RecyclerView? Прочитайте здесь о RecyclerView: developer.android.com/training/testing/espresso/lists

2. это кнопка, чтобы убедиться, что она видна. Если я удаляю его, я получаю ошибку: espresso. PerformException: ошибка при выполнении «одиночного щелчка по координатам: 539, 928 и точности: 16, 16″ в режиме просмотра» с идентификатором: com.espresso: id / locate_car_button».

3. Где находится кнопка, каково ее родительское представление?

4. Это внутри constraintlayout, который включен во фрагмент

5. Кнопка находится внутри фрагмента? Что такое контейнер фрагмента? Я спрашиваю о родительском макете кнопки. Существует быстрый способ использования Espresso Test Recorder в Android Studio для имитации поведения приложения и получения теста espresso, сгенерированного на его основе. Это даст вам приблизительное представление о том, что отличается в вашем тесте от того, который был записан. Вы могли бы даже пойти дальше и использовать тестовый рекордер вместо этого, если это вас устраивает.