如何在 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"。