微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android Espresso:如何断言不应显示视图

这似乎是正确的……
onView (withId (R.id.menu_delete)).check (matches (not (isdisplayed ())));

…但它抛出了这个异常:

android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: com.just10.android:id/menu_delete
If the target view is not part of the view hierarchy,you may need to use Espresso.onData to load it from one of the following AdapterViews:com.github.ksoichiro.android.observablescrollview.ObservableListView{3169f0f3 VFED.VC. .F...... 0,0-480,724 #102000a android:id/list}

不应该显示断言视图的最佳方法是什么?

解决方法

我应该使用的是:
onView (withId(R.id.menu_delete)).check (doesNotExist ());

这可能特别是视图位于选项菜单中,并且可能在任何给定时间实际存在或不存在,具体取决于onCreateOptionsMenu和onPrepareOptionsMenu中的实现.

编辑

这是另一种适用于非菜单视图的方法

onView (withID(R.id.menu_delete))
 .check(matches(withEffectiveVisibility(ViewMatchers.Visibility.GONE)));

原文地址:https://www.jb51.cc/android/316447.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐