2016年1月29日,星期五

使用Espresso数据适配器unibet列表视图



浓咖啡数据适配器用于unibet 像ListView这样的适配器视图&GirdView。简而言之,“适配器视图”是其子项由适配器界定的视图。在这种情况下,如果onView(),我们需要使用onData(),因为onData()是与绑定到视图项的数据匹配的对象。


影片教学-


我将详细说明使用Espresso进行ListView的unibet。以下是带有50个列表项的应用程序的屏幕截图。每行包含一个TextView和一个ToggleButton。顶部是文本“单击行号”。这将显示您刚刚单击的行号。 ToggleButton(如果选中)将显示文本“ checked”。这与我们现在要unibet的ListView有关。

浓缩咖啡数据适配器
浓缩咖啡数据适配器
1.unibetListView的滚动功能-在此我们需要unibet滚动到特定位置并滚动到ListView的末尾


@Testpublic void testScrollingAt()throws Exception
{
    // Scrolls till the position 20 

 onData(hasEntry(equalTo(ListViewSample.ROW_TEXT),is("List item: 20")))

    .check(matches(isCompletelyDisplayed()));
    //scrolls till the end     

onData(hasEntry(equalTo(ListViewSample.ROW_TEXT),is("List item: 49")))

    .check(matches(isCompletelyDisplayed()));
}

 
使用Espresso数据适配器unibet列表项
使用Espressounibet清单项目
2.unibet单击特定列表项,然后检查是否选择了列表项。


@Testpublic void testClickOnListItem()
{
    onData(hasEntry(equalTo(ListViewSample.ROW_TEXT),is("List item: 25")))
            .onChildView(withId(R.id.rowTextView)).perform(click());
    onView(withId(R.id.selection_row_value)).check(matches(withText("25")));
}

 
带有Espresso适配器的unibet清单
带有Espresso适配器的unibet清单
4.unibet特定行的切换按钮



@Testpublic void testToggleButton()throws Exception
{
    onData(hasEntry(equalTo(ListViewSample.ROW_TEXT),is("List item: 25")))
            .onChildView(withId(R.id.rowToggleButton)).perform(click());
    Thread.sleep(1000);
    onData(hasEntry(equalTo(ListViewSample.ROW_TEXT),is("List item: 25")))
            .onChildView(withId(R.id.rowToggleButton)).check(matches(isChecked()));
}
带有Espresso适配器的unibet清单
带有Espresso适配器的unibet清单

我希望这篇文章可以帮助您找到unibet服的代码范围:)
请在下面的评论部分中分享您的反馈,并按照质量检查自动化以获取最新的帖子更新。HappyTesting :-)

Download sample code from - //github.com/googlesamples/android-testing

7条评论:

  1. 什么是ListViewSample.ROW_TEXT?

    回复删除
    回覆
    1. 即使我也有同样的疑问。所以,如果您已经知道,请告诉我。

      删除
  2. 你好,

    我如何清除ListView?

    回复删除
  3. 您提供了一篇不错的文章,非常感谢您的这篇文章。我希望这对许多人都有用。.我正在等待您的下一篇文章,继续更新这些知识渊博的东西...

    移动应用开发公司
    移动应用开发公司
    移动应用开发公司

    回复删除
  4. 什么是ListViewSample.ROW_TEXT?

    回复删除
  5. 我尝试了您的代码。但是遇到错误。您能帮忙解决这个问题吗?

    java.lang.NoClassDefFoundError:无法解决以下问题:Lorg / hamcrest / integration / EasyMock2Adapter;

    引起原因:java.lang.ClassNotFoundException:Didn't find class "org.hamcrest.integration.EasyMock2Adapter"在路径上:DexPathList [[zip文件"/system/framework/android.test.runner.jar", zip file "/data/app/com.savvysherpa.t2deventful.test-2/base.apk", zip file "/data/app/com.savvysherpa.t2deventful-1/base.apk"],nativeLibraryDirectories = [/ data / app / com.savvysherpa.t2deventful.test-2 / lib / arm,/ data / app / com.savvysherpa.t2deventful-1 / lib / arm,/ vendor / lib,/ system / lib ]]

    回复删除
  6. 你能举一个gridview的例子吗?

    回复删除