Espresso:单击ListView页脚中的按钮上的操作

时间:2016-12-03 19:13:38

标签: android android-espresso android-espresso-recorder

ListView有这样的页脚(footer.xml):

private void clickNext() {
    ViewInteraction appCompatButton2 = onView(
            allOf(withId(R.id.btn_confirm), withText("Next"),
                    withParent(childAtPosition(
                            withId(R.id.lv_products), 5))));
    appCompatButton2.perform(click());
}

录制脚本时(通过'记录Espresso测试'在Android Studio中),我收到以下代码,点击按钮'下一步':

2016-11-23 00:00:00.0

它运行良好,但......当测试在低分辨率的设备上运行时,我得到错误:

  

android.support.test.espresso.PerformException:执行错误   '单击'在视图'(带有id:   com.comarch.msc.emulator:id / btn_confirm和text:is" Next"和   具有父匹配:父级中位置为5的子级,ID为:   com.comarch.msc.emulator:ID / lv_products)&#39 ;. (...)由以下原因引起:   java.lang.RuntimeException:不会执行Action,因为   目标视图与以下一个或多个约束不匹配:   至少90%的视图区域会显示给用户。

如何为较低分辨率自定义测试?

1 个答案:

答案 0 :(得分:1)

问题是整个页脚没有显示在屏幕上(如果显示则只是部分)。在单击按钮之前,您可以尝试执行swipeUp操作。或者,如果滑动没有帮助,只需检查为什么你没有在较小的屏幕上看到它。