如何在 Espresso 的帮助下打开 ActionMode 菜单?
How to open ActionMode menu with help of Espresso?
我正在尝试测试如下场景。
这是我的代码:
@Test
public void testRenameList() {
addNewList();
// Long click on the list
onView(recyclerViewItemWithText(mNewListName)).perform(longClick());
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
}
最后一行出现以下错误:
android.support.test.espresso.AmbiguousViewMatcherException: '((在屏幕上显示给用户,内容描述为"More options") or (在屏幕上显示给用户,名称class:一个字符串以 "OverflowMenuButton"))' 结尾的匹配层次结构中的多个视图。
我认为,Espresso 找到了两个菜单:来自 ActionMode 和来自 ActionBar。
问题是如何从 ActionMode 中准确打开菜单?
我已经使用 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的英文值为"More options"。
我正在尝试测试如下场景。
这是我的代码:
@Test
public void testRenameList() {
addNewList();
// Long click on the list
onView(recyclerViewItemWithText(mNewListName)).perform(longClick());
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
}
最后一行出现以下错误: android.support.test.espresso.AmbiguousViewMatcherException: '((在屏幕上显示给用户,内容描述为"More options") or (在屏幕上显示给用户,名称class:一个字符串以 "OverflowMenuButton"))' 结尾的匹配层次结构中的多个视图。
我认为,Espresso 找到了两个菜单:来自 ActionMode 和来自 ActionBar。
问题是如何从 ActionMode 中准确打开菜单?
我已经使用 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的英文值为"More options"。