1

ViewPager内のListViewの最初の項目をクリックすることはできますか?Espresso:ViewPager内のListViewの最初の項目をクリック

onData(anything()).inAdapterView(withId(R.id.myListView)).atPosition(0).perform(click());

は、私はすでにそれはこのよう取り組んで取得しようとしました。

ここからわかるとおり、Testing ViewPager with Espresso. How perfom action to a button of an Item?では、ViewPagerのonDataを使用できません。 さらに、テストを実行すると、複数の一致に対してAmbiguousViewMatcherExceptionが発生します。

android.support.test.espresso.AmbiguousViewMatcherException: 'with id: my.awesome.app:id/myListView' matches multiple views in the hierarchy. Problem views are marked with '****MATCHES****' below.

私はこのようなテストを実行する場合はクリックされることはありません最初の項目をonView(allOf(withId(R.id.myListView),isDisplayed())).perform(click());

リストの最初の項目をクリックする別の方法はありますか?あなたは、これは私が間違っていないよ場合は、画面上に表示される「MyListViewを」をマッチング働くかもしれないAmbiguousViewMatcherExceptionを持っていたよう

onData(anything()) 
    .inAdapterView(allOf(withId(R.id.myListView), isCompletelyDisplayed())) 
    .atPosition(0).perform(click()); 

+0

最初のアイテムを選択しているだけですか? – cunniemm

+0

ナー、私はそれをクリックしたい – elpatricko

+0

ああ、私はハハを参照してください。 @PatrickSturm – cunniemm

答えて

1

はこれを試してみてください。

+0

それは1つの実行のために働いた...私は別のエラーが発生しました: 'android.support.test.espresso.PerformException: 'アダプターデータの読み込み'ビューでのエラー(ID:my.awesome.app:id/myListViewとビューの領域の少なくとも100%がユーザに表示されます) '。' – elpatricko

+0

この最初の要素をクリックする前にViewPagerをスワイプしていますか?その場合は、SystemClock.sleep(800)を追加します。この指示の前に、それが動作するかどうか確認してください。 – jeprubio

+0

いいえ、私はスワイプしません。 – elpatricko

関連する問題