Ошибка эспрессо: отсутствует метод интерфейса 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)
Ответы
Ответ 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:
Майкл ответ лучше, не используйте эту устаревшую версию больше!