Espresso:单击 ListView 页脚中按钮的操作
Posted
技术标签:
【中文标题】Espresso:单击 ListView 页脚中按钮的操作【英文标题】:Espresso: Click action on button in ListView footer 【发布时间】:2016-12-03 19:13:37 【问题描述】:ListView 有这样的页脚(footer.xml):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_>
<Button
android:id="@+id/btn_cancel"
style="@style/MyApp.Form.Component.Button"
android:text="@string/action_cancel"/>
<Button
android:id="@+id/btn_confirm"
style="@style/MyApp.Form.Component.Button"
android:text="@string/action_next"/>
</RelativeLayout>
在录制脚本时(通过 Android Studio 中的“Record Espresso Test”),我收到以下代码以单击“下一步”按钮:
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());
效果很好,但是...在低分辨率设备上运行测试时出现错误:
android.support.test.espresso.PerformException:执行错误 '单击'视图'(带有ID: com.comarch.msc.emulator:id/btn_confirm 和文本:是“下一步”和 有父匹配:在父级中位置 5 的子级,ID: com.comarch.msc.emulator:id/lv_products)'。 (...) 原因: java.lang.RuntimeException:将不会执行操作,因为 目标视图与以下一项或多项约束不匹配: 至少 90% 的视图区域会显示给用户。
如何自定义低分辨率测试?
【问题讨论】:
Click on not fully visible imageButton with Espresso的可能重复 【参考方案1】:问题是整个页脚没有显示在屏幕上(如果显示则只是部分)。在单击按钮之前,您可以尝试执行swipeUp 操作。或者,如果滑动没有帮助,只需检查为什么您在较小的屏幕上看不到它。
【讨论】:
以上是关于Espresso:单击 ListView 页脚中按钮的操作的主要内容,如果未能解决你的问题,请参考以下文章
QML:使用 ListView.OverlayFooter 时页脚中的按钮无响应
Bootstrap 3 - 页脚中的链接在移动版本上不起作用