2017-08-07 102 views
6

我收到運行時錯誤UsageTracker.java中沒有接口方法trackUsage()當Espresso測試中的線條滾動到某個元素時在RecyclerView列表:Espresso測試失敗:UsageTracker.java中沒有接口方法trackUsage()

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

我使用RecyclerViewActionsscrollTo()方法

這裏是我當前的配置和gradle這個依賴關係:

  • 的Android 3.0工作室9 Canery
  • 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:濃咖啡的contrib:2.2.2
  • com.android.support.test.espresso:咖啡核:2.2.2
  • Android的支持庫:25.3.1

此外,對於每個androidTestCompile的我使用以下不包括:

  • 排除組: '的com.android.support',模塊: '程序兼容性'
  • 排除組: 'com.android.support',模塊: '支持-V4'
  • 排除組: 'com.android.support',模塊: '支持的註解'
  • 排除模塊: 'recyclerview-V7'

全部錯誤消息:無接口方法trackUsage(Ljava /郎/字符串;)V類Landroid /支持/測試/內部/澆道/跟蹤器/ UsageTracker;或它的超類(「android.support.test.internal.runner.tracker.UsageTracker」的聲明出現在/data/app/adamhurwitz.github.io.doordashlite.test-2/base.apk)

+1

檢查UsageTracker的版本。在這裏你有一個類似的問題https://stackoverflow.com/questions/38951218/java-lang-nosuchmethoderror-no-interface-method-sortljava-util-comparator-ex/38951385#38951385 – Ivan

+1

UsageTracker在其接口中聲明trackUsage ? – Ivan

+0

感謝您的回覆@Ivan * UsageUsage()*方法在UsageTracker界面中定義。 –

回答

17

我遇到規則1.0.0亞軍1.0.0同樣的問題。雖然我能夠解決它只需添加咖啡核心3.0.0。這避免了使用過時的版本。

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 

編輯: 與此同時,庫已更新,目前版本爲2018/02是:

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 

的最新版本可以在一般的Android Developers page找到。

3

我有同樣的問題。要解決它,我改變了以下相關的:

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:

邁克爾的回答最好,不要用這種過時的版本了!

相關問題