检查 Android Espresso NoMatchingViewException

标签 android testing android-espresso

我正在试用新的 Android 测试库 Espresso。当我尝试时:

onView(withId(R.id.gettingStarted))

测试运行良好。但是当我尝试时:

onView(withId(R.id.gettingStarted)).check(matches(isDisplayed()));

我得到一个 .NoMatchingViewException: No views in hierarchy found matching: with id: is <2131296645>

有没有人见过这样的事情?我最初的 react 是这只是一个错误,因为 Espresso 仅在 1.0 版本上。我正在使用 Android Studio 并严格按照设置说明进行操作。

最佳答案

这是预期的行为。

onView(withId(R.id.gettingStarted)) 本身不执行任何操作。当您调用 perform 方法时,Espresso 会针对当前 View 层次结构运行 onView 方法中提供的匹配器 - 如果未找到匹配的 View ,则会抛出异常。

有关详细信息,请参阅入门指南:https://developer.android.com/training/testing/espresso/index.html

关于检查 Android Espresso NoMatchingViewException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19581150/

相关文章:

node.js - 如何使用 Node、Mocha 获取代码覆盖率信息

Android Espresso Intents 测试随机失败, `` init() 必须在使用此方法之前调用``

Android Espresso 检查选定的微调器文本

android - 在具有其他背景的布局中具有透明背景的按钮上的发光文本

android - iOS 中是否有类似 BroadcastReceivers 的东西?

android - 如何在 Android 中将像素转换为 dip(Density Independent Pixels)

android - 使用 android espresso 测试具有多个 fragment 的 ViewPager

Android 使用 Dagger 2 为动态更改 url 实现 HostSelectionInterceptor

ruby-on-rails - 如何为功能测试设置语言环境 default_url_options (Rails)

ruby-on-rails - Rspec 方法创建错误