Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 测试菜单项_Android_Testing_Menu_Keypress - Fatal编程技术网

Android 测试菜单项

Android 测试菜单项,android,testing,menu,keypress,Android,Testing,Menu,Keypress,我发现下面的测试稍微修改了一下作为答案。但是我得到一个错误,说我需要android.permission.injectu事件。我已经将它添加到应用程序项目和测试项目中,但测试仍然表明它需要它 我是否误解了测试应该如何编写 public void testMenuItemAddDrink(){ Start activity = getActivity(); ActivityMonitor am = getInstrumentation().addMonitor(St

我发现下面的测试稍微修改了一下作为答案。但是我得到一个错误,说我需要android.permission.injectu事件。我已经将它添加到应用程序项目和测试项目中,但测试仍然表明它需要它

我是否误解了测试应该如何编写

public void testMenuItemAddDrink(){
        Start activity = getActivity();
        ActivityMonitor am = getInstrumentation().addMonitor(Start.class.getName(), null, false);

        getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);
        getInstrumentation().invokeMenuActionSync(activity, se.javalia.myDrinks.R.id.menu_addDrink, 0);

        Activity addDrink = getInstrumentation().waitForMonitorWithTimeout(am, 1000);
        assertEquals(true, getInstrumentation().checkMonitorHit(am, 1));
        addDrink.finish();
    }
提前谢谢
罗兰

您可以删除此行:

getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);

这不是必需的,因为您使用的是InvokeNuctionSync。

您可以删除此行:

getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);
这不是必需的,因为您使用的是InvokeNuctionSync