2017-08-07 50 views
6

Otrzymuję błąd wykonania Żadna metoda interfejs trackUsage() w UsageTracker.java gdy linie przebiegają w teście espresso, aby przewinąć do pewnego elementu na liście RecyclerView:test Espresso Niezastosowanie: Żadna metoda interfejs trackUsage() w UsageTracker.java

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

Używam RecyclerViewActions dla metody scrollTo().

Oto moje obecne konfiguracje i Gradle zależności:

  • Android Studio 3.0 Canery 9
  • compileSdkVersion 25
  • buildToolsVersion "26.0.1"
  • JUnit: JUnit: 4,12
  • com .android.support.test: runner: 1.0.0
  • com.android.support.test: rules: 1.0.0
  • com.android.support.test.espresso: espresso-contrib: 2.2.2
  • com.android.support.test.espresso: espresso-core: 2.2.2
  • Android Pomoc Biblioteka: 25.3.1

Ponadto, dla każdego z androidTestCompile jest mi stosując następujące obejmuje:

  • wykluczyć grupę: 'com.android.support moduł',: 'AppCompat'
  • wykluczyć grupy: 'com.android.support' Moduł: "Pomoc-V4
  • wykluczyć grupy: 'com.android.support' Moduł: 'z nośnikiem, adnotacje'
  • wykluczyć moduł:" recyclerview-v7

Pełny komunikat o błędzie: Żadna metoda interfejs trackUsage (Ljava/lang/String;) V w klasie Landroid/support/test/wewnętrzny/zawodnik/tracker/UsageTracker; lub jego superklasy (deklaracja "android.support.test.internal.runner.tracker.UsageTracker" pojawia się w /data/app/adamhurwitz.github.io.doordashlite.test-2/base.apk)

+1

Sprawdź wersję narzędzia UsageTracker. Tutaj masz podobne pytanie https://stackoverflow.com/questions/38951218/java-lang-nosuchmethoderror-no-interface-method-sortljava-util-comparator-ex/38951385#38951385 – Ivan

+1

Czy UsageTracker deklaruje trackUsage w swoim interfejsie ? – Ivan

+0

Dzięki za odpowiedź @Ivan Metoda * trackUsage() * jest zdefiniowana w interfejsie UsageTracker. –

Odpowiedz

17

Wystąpił ten sam problem z reguł 1.0.0 i Runner 1.0.0. Chociaż udało mi się go rozwiązać, dodając po prostu rdzenia espresso 3.0.0.Który unika używania przestarzałych wersji.

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 

EDIT: Tymczasem biblioteki zostały zaktualizowane, obecne wersje poczynając od 2018/02 są następujące:

com.android.support.test:rules:1.0.1 
com.android.support.test.runner:1.0.1 
com.android.support.test.espresso:espresso-core:3.0.1 

Do góry do wersji data może w ogóle znaleźć na Android Developers page.

3

I miał ten sam problem. Aby go naprawić Zmieniłem następujące zależności od:

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

do:

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

UPDATE: odpowiedź

Michaela jest lepiej, nie należy korzystać z tej wersji już nieaktualne!