如何使用浓缩咖啡在 Android 软键上按下编辑器操作键?我试过了:
onView(withId(R.id.test_title)).perform(typeText("Sample Title"), pressKey(KeyEvent.FLAG_EDITOR_ACTION));
但它不起作用..知道吗?
"pressKey" 需要 KEYCODE,而不是 FLAG。所以按键(KeyEvent.FLAG_EDITOR_ACTION)真的没有意义,绝对行不通。
但是有一个用于按下编辑器 (IME) 操作的 ViewAction,请参阅静态方法:ViewActions#pressImeActionButton()
您可以在此处查看 Espresso 1.x 实施的详细信息:
https://developer.android.com/reference/android/support/test/espresso/action/ViewActions.html#pressImeActionButton()
由于这是搜索如何使用Espresso发送密钥的人的顶级谷歌结果,我想提供一个例子:onView(withId(R.id.your_id)).perform(ViewActions.pressKey(KeyEvent.YOUR_KEY));
要在 Espresso 中发送常规按键,请使用如下方式:
onView(isRoot()).perform(pressKey(KeyEvent.KEYCODE_MENU));
例如,这会将硬件菜单按钮事件发送到任何视图,以打开操作栏/工具栏中的溢出菜单。
备注:要快速添加这些方法的导入,请将闪烁的光标放在未解析的方法上,然后执行Android Studio➔帮助➔查找操作➔搜索"show context action"
或"show intention action"
➔单击结果选项➔将出现一个弹出窗口➔单击"Import static method ..."
。 您还可以为"显示上下文操作"分配键盘快捷键。更多信息在这里。另一种方法是在"设置"中启用"Add unambiguous imports on the fly"
。
接受的答案对我来说不清楚,其他人也不起作用。实际工作的解决方案如下
Espresso.onView(ViewMatchers.withId(R.id.search_box))
.perform(ViewActions.pressImeActionButton())
其中search_box是我的编辑文本的 ID。