我想检查一个视图是否未被另一个视图隐藏。我没有成功使用经典的isDisplayed
断言来测试它。
在我的情况下,我在同一个布局中有一个视图A和一个视图B.我想测试视图A对用户是可见的。 但我知道,这个测试应该失败,因为视图B与视图A完全重叠。
这是我的代码:
onView(
withId(R.id.my_view_A_id)
).check(
matches(
isDisplayed()
)
)
正如我之前所说,即使视图B完全在视图A上,此测试也不会失败。
如何使用espresso测试我的视图A实际上对用户可见?
答案 0 :(得分:1)
在您的情况下,如果您正在检查视图是否可见但不一定显示在屏幕上。为此,您可以使用withEffectiveVisibility(Visibility)
<强> onView(匹配)。检查(匹配(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE))); 强>
如果您对Espresso UI测试更感兴趣,可以在GitHub上查看Express Express Demo Projcet:https://github.com/ranaNarin/Espresso-Android
在此演示项目中,在所有场景中实施espresso: - EditText,按钮,选项菜单点击,导航抽屉打开和关闭,单击回收器视图项,打开相机并使用Espresso UI测试单击图像
答案 1 :(得分:0)
尝试使用isCompletelyDisplayed匹配器:
onView(withId(R.id.my_view_A_id))
.check(matches(isCompletelyDisplayed()));