簡體   English   中英

Espresso Instrumented 測試,層次結構中找不到與 RecycleView 匹配的視圖

[英]Espresso Instrumented Test, No views in hierarchy found matching RecycleView

我在底部導航中有 3 個項目:

  1. 電影
  2. 電視節目
  3. 收藏夾(包含 2 個項目的選項卡布局,默認選項卡(“電影”)和第二個選項卡(“電視節目”))

在默認選項卡(最喜歡的電影)上是成功的。

onView(withId(R.id.nav_favorite)).perform(click())
onView(allOf(withId(R.id.rv_favorite_film), isDisplayed())).check(matches(isDisplayed())) //SUCCESS

測試時我在最喜歡的項目 - > 第二個選項卡電視節目中有問題:

onView(withId(R.id.nav_favorite)).perform(click())
onView(allOf(withText("Tv Show"), isDescendantOfA(withId(R.id.tabs)))).perform(click())
onView(allOf(withId(R.id.rv_favorite_tvshow), isDisplayed())).check(matches(isDisplayed())) //ERROR

如何解決? 謝謝

我認為您正在對TextView performing click操作,這不是附加了onClickListenerView

TabLayout ,您有一個TabViews的層次結構,其中嵌套了TextViews 具有onClickListener的東西不是TextView (匹配allOf(withText("Tv Show"), isDescendantOfA(withId(R.id.tabs))) )而是TabView

因此,您應該在具有withText("Tv Show")TabViewperform(click()) )。

我不記得 Espresso 的確切語法,但如果你嘗試使用我的 Cortado 庫(),它應該是:

Cortado.onView().isAssignableFrom(TabView::class.java).and().hasDescendant(withText("Tv Show")).perform().click()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM