我需要在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()
。