如何使用Espresso在Android软键上按下Editor Action键? 我试过了:
onView(withId(R.id.test_title)).perform(typeText("Sample Title"), pressKey(KeyEvent.FLAG_EDITOR_ACTION));
但它不起作用..有什么想法吗?
答案 0 :(得分:15)
“pressKey”需要一个KEYCODE,而不是一个FLAG。所以pressKey(KeyEvent.FLAG_EDITOR_ACTION)确实没有意义,肯定不会起作用。
但是有一个用于按下编辑器(IME)动作的ViewAction,请参阅静态方法:ViewActions#pressImeActionButton()
您可以在此处查看Espresso 1.x实施详情:
答案 1 :(得分:3)
由于这是搜索如何使用Espresso发送密钥的人的最佳google结果,我想提供一个示例:onView(withId(R.id.your_id)).perform(ViewActions.pressKey(KeyEvent.YOUR_KEY));
答案 2 :(得分:2)
要在Espresso中发送常规按键,请使用以下命令:
onView(isRoot()).perform(pressKey(KeyEvent.KEYCODE_MENU));
例如,这会将硬件菜单按钮事件发送到任何视图,以在ActionBar / ToolBar中打开“溢出菜单”。
答案 3 :(得分:1)
接受的答案对我来说还不清楚,其他人则无法使用。 实际的解决方案如下
Espresso.onView(ViewMatchers.withId(R.id.search_box))
.perform(ViewActions.pressImeActionButton())
其中search_box是我的edittext的ID。