如何在Espresso的帮助下打开ActionMode菜单?

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

标签: android android-espresso

我正在尝试测试下面的场景。

enter image description here

这是我的代码:

    @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完全打开菜单?

1 个答案:

答案 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的英文值是“更多选项”。