0

私はリサイクルビューを画面の異なる位置に置いた場合にリストを作成します。 はenter image description hereエスプレッソ:不明な位置のRecyclerビューをクリック

  • 以下のように私はその中の変数テキスト「ジョブ#」に基づいて特定のリサイクルビューをクリックします。
  • しかし、私がクリックすべき正確な位置を知らないのと同じことをすることはできません。
  • リサイクラビューの位置が変わり続ける。コードの下で試しましたが、静的位置 '6'をクリックします。

    recyclerView = onView( allOf(withId(R.id.recycler_view)、isDisplayed())); recyclerView.perform(actionOnItemAtPosition(6、click()));

適切な位置を動的に知りたい。

答えて

2

計測テストでポジションをクリックすることは、私の意見では、非決定論的テストにつながるため、悪い習慣です。これはRecyclerViewAdapterViewの両方に適用されます。

ポジションに頼らないためには、recyclerviewアクションのためにitemViewマッチャーが必要です。

ItemView matcherは、ViewHolderのitemviewに一致するビューマッチャーです。

onView(allOf(withId(R.id.recycler_view),isDisplayed())).perform(Recyclerview actions.actionOnItem(hasDescendant(withText("Job 109")), click()));

+0

ガットエラー:間違った第一引数の型あなたのケースでは、あなたのケースでは、エンド・ソリューションがどのように見えるはずですhasDescendant(withText("Job 109"))

として表すことができる強調しRelativeLayoutを、保持しているLinearLayoutと一致する必要があります。見つかった: 'org.hamcrest.Matcher '、必須: 'int' – RosAng

+0

右、私は何とかコピーとペーストの部分を台無しにしました - それはRecyclerViewAction.actionOnItemになるはずです –

+0

正確には:onView(allOf (RecyclerViewActions.actionOnItem(hasDescendant withText( "Job#109"))、click()));を実行します。 – RosAng

関連する問題