Espresso:如何点击listview中的图片之一?

时间:2014-05-19 05:53:00

标签: android android-espresso

帮助!!!

我想在Espresso中测试android ui,但每次更改时都会出现图像。

listview
 ---FrameLayout
     ---imageview
     ---imageview
 ---FrameLayout
     ---imageview
     ---imageview

我尝试这种方式,但仍然无法点击:

onData(is(instanceOf(ImageView.class)))
                .inAdapterView(withId(R.id.listview))
                .atPosition(3)
                .perform(ViewActions.click());

错误日志:

com.google.android.apps.common.testing.ui.espresso.PerformException: Error performing 'load adapter data' on view 'with id: is <2131296725>'.
    at com.google.android.apps.common.testing.ui.espresso.PerformException$Builder.build(PerformException.java:67)
:DoubanMovie:connectedAndroidTest FAILED

2 个答案:

答案 0 :(得分:3)

我知道我迟到但对别人有帮助。

 onData(anything())
                .inAdapterView(withId(listviewID))
                .atPosition(0)
                .onChildView(withId(childViewID))
                .perform(click());

这将帮助您使用customlayout

单击列表视图中的特定视图

答案 1 :(得分:-2)

试试这个,

((ImageView)((FrameLayout) listview.getChildAt(position)).getChildAt(position)).performClick();

这可能会对你有所帮助