检查视图是否未隐藏

时间:2017-11-30 16:26:03

标签: android android-espresso

我想检查一个视图是否未被另一个视图隐藏。我没有成功使用经典的isDisplayed断言来测试它。

在我的情况下,我在同一个布局中有一个视图A和一个视图B.我想测试视图A对用户是可见的。 但我知道,这个测试应该失败,因为视图B与视图A完全重叠。

这是我的代码:

onView(
    withId(R.id.my_view_A_id)
).check(
    matches(
        isDisplayed()
    )
)

正如我之前所说,即使视图B完全在视图A上,此测试也不会失败。

如何使用espresso测试我的视图A实际上对用户可见?

2 个答案:

答案 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()));