Подтвердить что ты не робот

Ошибка эспрессо: отсутствует метод интерфейса trackUsage() в UsageTracker.java

Я получаю ошибку времени выполнения. Нет метода интерфейса trackUsage() в UsageTracker.java, когда строки, запущенные в тесте Espresso, прокручиваются до определенного элемента в списке RecyclerView:

   onView(withId(R.id.recyclerView)).perform(scrollTo(hasDescendant(withText(text))));

Я использую RecyclerViewActions для метода scrollTo().

Вот мои текущие конфигурации и gradle зависимости:

  • Android Studio 3.0 Canery 9
  • compileSdkVersion 25
  • buildToolsVersion "26.0.1"
  • JUnit: JUnit: 4,12
  • com.android.support.test: бегун: 1.0.0
  • com.android.support.test: правила: 1.0.0
  • com.android.support.test.espresso: эспрессо-вно: 2.2.2
  • com.android.support.test.espresso: эспрессо-ядро: 2.2.2
  • Библиотека поддержки Android: 25.3.1

Кроме того, для каждого из androidTestCompile я использую следующие исключения:

  • исключить группу: 'com.android.support', module: 'appcompat'
  • исключить группу: 'com.android.support', module: 'support-v4'
  • исключить группу: 'com.android.support', module: 'support-annotations'
  • исключить модуль: 'recyclerview-v7'

Полное сообщение об ошибке: Нет метода интерфейса trackUsage (Ljava/lang/String;) V в классе Landroid/support/test/internal/runner/tracker/UsageTracker; или его суперклассы (объявление "android.support.test.internal.runner.tracker.UsageTracker" появляется в/data/app/adamhurwitz.github.io.doordashlite.test-2/base.apk)

4b9b3361

Ответ 1

У меня возникла та же проблема с правилами 1.0.0 и бегуном 1.0.0. Хотя я смог решить это, просто добавив espresso-core 3.0.0. Что позволяет избежать использования устаревших версий, таких как предложенные в ответе Erics.

com.android.support.test:rules:1.0.0 
com.android.support.test.runner:1.0.0 
com.android.support.test.espresso:espresso-core:3.0.0

РЕДАКТИРОВАТЬ: Между тем следует использовать библиотеки AndroidX, текущие версии на 2019/06:

androidx.test:rules:1.1.0
androidx.test:runner:1.1.0
androidx.test:core:1.0.0
androidx.test.espresso:espresso-core:3.1.0

Актуальные версии можно найти на странице разработчиков Android.

Ответ 2

У меня была та же проблема. Чтобы исправить это, я изменил следующие зависимости:

com.android.support.test:runner:1.0.0
com.android.support.test:rules:1.0.0

в

com.android.support.test:runner:0.5
com.android.support.test:rules:0.5

UPDATE:

Майкл ответ лучше, не используйте эту устаревшую версию больше!