9

我正在使用 Espresso 进行测试,首先我打开操作栏:

openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());

到这里为止一切正常,但是我想点击一个选项菜单:

onView(withId(R.id.action_menu)).perform(click());

菜单布局 xml 有一个带有 id 的选项:“action_menu”。

我收到一个错误:

android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: ***.********.******.android.debug:id/action_menu
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:android.support.v7.widget.ListPopupWindow$DropDownListView{43fd3f58 VFED.VC. .F...... 24,24-612,168}

我通过以下方式使这一步工作:

onView(withText(R.string.action_report)).perform(click());

不过,我想知道 id 出了什么问题。

有任何想法吗?

4

1 回答 1

2

似乎表示菜单的视图不知道 id,而只知道项目的文本。我是 Espresso 的新手,因此无法提供更多详细信息,但这篇文章与您的问题有关: Espresso NoMatchingViewException when using withId matcher

于 2016-02-27T21:56:56.133 回答