使用onView时使用Espresso单击操作栏中的菜单项(withId(...))

时间:2016-02-26 11:11:00

标签: android optionmenu android-espresso action-menu

我正在使用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的问题是什么。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

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