Dan*_*ico 19 testing unit-testing junit4 android-espresso
什么是isDisplayed和withEffectiveVisibility?之间的区别?
onView(withText("Much Dagger")).check(matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)));
onView(withText("Much Dagger")).check(matches(ViewMatchers.isDisplayed());
Run Code Online (Sandbox Code Playgroud)
小智 24
根据文件
返回匹配{@link View}的匹配器,其中"有效"可见性设置为给定值.有效可见性不仅考虑了视图的可见性值,还考虑了其祖先的可见性值.在View.VISIBLE的情况下,这意味着视图及其所有祖先具有visibility = VISIBLE.在GONE和INVISIBLE的情况下,情况正好相反 - 任何GONE或INVISIBLE父母都会让其所有孩子都有其有效的知名度.
注意:
与名称所暗示的相反,视图可见性不会直接转化为视图是否显示在屏幕上(使用isDisplayed()).例如,视图及其所有祖先可以具有visibility = VISIBLE,但是视图可能需要滚动到以便实际对用户可见.除非您专门针对测试使用可见性值,否则请使用isDisplayed.
因此,如果用于验证视图是否可见,则使用isDisplayed()但是对于其他验证,如果不可见则使用withEffectiveVisibilty()
| 归档时间: |
|
| 查看次数: |
6662 次 |
| 最近记录: |