Android Espresso 2.0卡在点击gridview项目上

时间:2016-04-27 14:46:39

标签: android gridview android-espresso staggered-gridview

我想为我的Android应用创建Espresso测试。我有一个StaggeredGridViewStaggeredGridView Github ),其中包含许多由自定义模型(Recipe.class)组成的网格项(~1000)

<com.etsy.android.grid.StaggeredGridView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/mainPageGridView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:contentDescription="main_grid"
        android:descendantFocusability="blocksDescendants"
        app:column_count="2"
        app:item_margin="8dp">

    </com.etsy.android.grid.StaggeredGridView>

网格项是一个简单的LinearLayout ImageTextView

问题是,当我想点击屏幕上看不到的元素时,Espresso会卡住而不会滚动到它以执行操作。

我尝试了以下内容(如果我将位置更改为1,那么它可以正常工作):

onData(anything()).inAdapterView(withId(R.id.mainPageGridView))
            .atPosition(5)
            .perform(click());

尝试了这个:

onData(anything()).inAdapterView(withId(R.id.mainPageGridView))
            .atPosition(5)
            .perform(scrollTo(), click());

这是一个错误,还是我错过了一些参数?

1 个答案:

答案 0 :(得分:0)

它对我有用:

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