如何在浓缩咖啡中以编程方式单击Android手机"home"按钮



我需要在Android手机上模拟Espresso中的主页按钮单击。我试过了

onView(withId(android.R.id.home)).perform(click());

和 onView(withContentDescription("Navigate up")).perform(click());

正如一些帖子所建议的那样,但它总是找不到视图。我是Espresso的新手,不知道如何调试它。谢谢。

最好使用withContentDescription(R.string.abc_action_bar_up_description)而不是"向上导航",但它无论如何都不像主页按钮单击,它只使用导航栏的"后退"按钮,因此它只有在您的应用程序中使用它时才有效。

如果要模拟主页按钮单击并且正在使用UI自动操作库,则可以像这样模拟它

fun pressHome() {
    // Might be a good idea to initialize it somewhere else
    val uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
    uiDevice.pressHome()
}

或者,如果您不想或不能使用 UI 自动机,则可以尝试使用 KeyEvent.KEYCODE_HOME 调用 Intrstumentation.sendKeyDownUpSync()

最新更新