fresh digitable

めんどくさかったなってことを振り返ったり振り返らなかったりするための記録

Custom ViewがRecyclerViewの何番目にあるかをEspressoでさがす

この記事はEspresso 2.2.2時点のもの。

ポイントは次の二つ。

  • Espresso.onView()にcustom viewのクラスを探すcustom matcherを渡す
    • BoundedMatcherの型引数にcustom viewのクラスを渡してやると便利
    • TreeIterables.breadthFirstViewTraversal(View)でcustom view以下の子ビューをトラバースしてマッチするやつを探す
  • custom assertionで受け取ったcustom viewの親がRecyclerViewなのでRecyclerView#getChildAt(int)に確かめたい子ビューの番号を渡してcustom viewと比較する

作例をGistに書いた。

Espresso for RecyclerView