我正在尝试测试下面的场景。
这是我的代码:
@Test
public void testRenameList() {
addNewList();
// Long click on the list
onView(recyclerViewItemWithText(mNewListName)).perform(longClick());
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
}
最后一行出现以下错误: android.support.test.espresso.AmbiguousViewMatcherException:'((在屏幕上显示给用户并带有内容描述:是“更多选项”)或(在屏幕上显示给用户并带有类名:字符串结尾使用“OverflowMenuButton”))'匹配层次结构中的多个视图。
我认为,Espresso找到两个菜单:来自ActionMode和ActionBar。
问题是如何从ActionMode完全打开菜单?
答案 0 :(得分:0)
我使用UIAutomator解决了这个问题。 我已经更换了这行
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
通过
UiObject btnMenu = mDevice.findObject(new UiSelector().description(mActivity.getString(R.string.menu_button_identifier)));
btnMenu.click();
R.string.menu_button_identifier的英文值是“更多选项”。