2017-08-07 118 views
6

Bir çalışma zamanı hatası alıyorum Belirli bir öğeye gitmek için Espresso testinde satırlar çalışırken UsageTracker.java arabirim yöntemi trackUsage() yok RecyclerView listesinde:Espresso Sınama Başarısız: UsageTracker.java içinde hiçbir arabirim yöntemi yok TrackUsage()

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

Ben RecyclerViewActions scrollTo() yöntemi için kullanıyorum. İşte

benim şimdiki yapılandırmaları ve gradle bağımlılıkları şunlardır:

  • 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: kurallar: 1.0.0
  • com.android.support.test.espresso: espresso Contrib: 2.2.2
  • com.android.support.test.espresso: espresso çekirdek: 2.2.2
  • Android destek kitaplığı: 25.3.1

Ayrıca androidTestCompile 'ın aşağıdaki Kapsam dışı kullanıyorum: grubunu hariç

  • : 'her biri için com.android.support', modül: 'AppCompat'
  • dışlamak grubu: 'com.android.support', modül: 'desteksiz v4'
  • dahil grubu: 'com.android.support', modül: 'desteksiz açıklamalar'
  • modülünü dahil: 'recyclerview-v7'

Tam hata iletisi: Resim arabirim yöntemi trackUsage (Ljava/lang/string;) sınıfı Landroid/destek/test/iç/ikinci/izleyici/UsageTracker V; veya onun süper sınıfları ('android.support.test.internal.runner.tracker.UsageTracker' bildirimi /data/app/adamhurwitz.github.io.doordashlite.test-2/base.apk içinde görünür)

+1

UsageTracker sürümünü kontrol edin. Burada benzer bir sorunuz var. Https://stackoverflow.com/questions/38951218/java-lang-nosuchmethoderror-no-interface-method-sortljava-util-comparator-ex/38951385#38951385 – Ivan

+1

UsageTracker, trackUsage'i arabiriminde bildiriyor ? – Ivan

+0

Yanıt @Ivan için teşekkürler * trackUsage() * yöntemi, UsageTracker arabiriminde tanımlanmıştır. –

cevap

17

kuralları 1.0.0 ve runner 1.0.0 ile aynı sorunu yaşıyordum. Yine de, sadece espresso çekirdeği 3.0.0'u ekleyerek çözebiliyordum.Hangi eski sürümleri kullanımını önler.

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 

DÜZENLEME: arada kütüphaneleri güncellendi 2018/02 itibarıyla geçerli sürümleri şunlardır:

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 

tarih sürümleri kadar genel olarak Android Developers page bulunabilir.

3

I aynı sorun vardı.

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

için:

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

GÜNCELLEME:

Michael'ın cevabı daha iyidir, artık bu eski bir sürümünü kullanmayın düzeltmek için ben aşağıdaki bağımlılıkları değişti!