我想检查一个视图是否被另一个视图隐藏。我尝试使用经典的
在我的情况下,我有一个视图A和一个视图B在同一个布局(FrameLayout)内。我想测试视图A对用户可见。 但我知道,这个测试应该失败,因为视图B完全覆盖了视图A。
布局示例:
isDisplayed
断言进行测试,但没有成功。在我的情况下,我有一个视图A和一个视图B在同一个布局(FrameLayout)内。我想测试视图A对用户可见。 但我知道,这个测试应该失败,因为视图B完全覆盖了视图A。
布局示例:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<View android:id="@+id/view_a"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<View android:id="@+id/view_b"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</FrameLayout/>
测试代码:
onView(
withId(R.id.view_a)
).check(
matches(
isDisplayed()
)
)
正如我之前所说的,即使视图B完全覆盖视图A,此测试也不会失败。
我该如何使用Espresso测试用户实际可见视图A?例如,当使用translateX/Y
移动视图B或以其他方式隐藏它时。