如何在 Espresso 上按下编辑器操作
How to press editor action on Espresso
如何使用 Espresso 按 Android 软键上的编辑器操作键?
我试过:
onView(withId(R.id.test_title)).perform(typeText("Sample Title"), pressKey(KeyEvent.FLAG_EDITOR_ACTION));
但它不起作用..有什么想法吗?
"pressKey" 需要 KEYCODE,而不是 FLAG。所以 pressKey(KeyEvent.FLAG_EDITOR_ACTION) 没有任何意义,肯定不会起作用。
但是有一个用于按下编辑器(IME)动作的ViewAction,见静态方法:ViewActions#pressImeActionButton()
您可以在此处查看 Espresso 1.x 实施细节:
由于这是搜索如何使用 Espresso 发送密钥的人的最高 google 结果,我想提供一个示例:onView(withId(R.id.your_id)).perform(ViewActions.pressKey(KeyEvent.YOUR_KEY));
要在 Espresso 中发送常规按键,请使用如下内容:
onView(isRoot()).perform(pressKey(KeyEvent.KEYCODE_MENU));
例如,这会将硬件菜单按钮事件发送到任何视图,以打开 ActionBar/ToolBar 中的溢出菜单。
注意:要快速添加这些方法的导入,请将闪烁的光标放在未解析的方法上,然后执行 Android Studio ➔ Help ➔ Find Action ➔ 搜索 "show context action"
或 "show intention action"
➔ 点击结果选项 ➔ 弹出 window 会出现 ➔ 点击 "Import static method ..."
.您还可以为 "Show Context Actions" 分配键盘快捷键。 More info here。另一种方法是在设置中启用 "Add unambiguous imports on the fly"
。
接受的答案对我来说不清楚,其他人也不起作用。
实际的解决方案如下
Espresso.onView(ViewMatchers.withId(R.id.search_box))
.perform(ViewActions.pressImeActionButton())
其中 search_box 是我的编辑文本的 ID。
如何使用 Espresso 按 Android 软键上的编辑器操作键? 我试过:
onView(withId(R.id.test_title)).perform(typeText("Sample Title"), pressKey(KeyEvent.FLAG_EDITOR_ACTION));
但它不起作用..有什么想法吗?
"pressKey" 需要 KEYCODE,而不是 FLAG。所以 pressKey(KeyEvent.FLAG_EDITOR_ACTION) 没有任何意义,肯定不会起作用。
但是有一个用于按下编辑器(IME)动作的ViewAction,见静态方法:ViewActions#pressImeActionButton()
您可以在此处查看 Espresso 1.x 实施细节:
由于这是搜索如何使用 Espresso 发送密钥的人的最高 google 结果,我想提供一个示例:onView(withId(R.id.your_id)).perform(ViewActions.pressKey(KeyEvent.YOUR_KEY));
要在 Espresso 中发送常规按键,请使用如下内容:
onView(isRoot()).perform(pressKey(KeyEvent.KEYCODE_MENU));
例如,这会将硬件菜单按钮事件发送到任何视图,以打开 ActionBar/ToolBar 中的溢出菜单。
注意:要快速添加这些方法的导入,请将闪烁的光标放在未解析的方法上,然后执行 Android Studio ➔ Help ➔ Find Action ➔ 搜索 "show context action"
或 "show intention action"
➔ 点击结果选项 ➔ 弹出 window 会出现 ➔ 点击 "Import static method ..."
.您还可以为 "Show Context Actions" 分配键盘快捷键。 More info here。另一种方法是在设置中启用 "Add unambiguous imports on the fly"
。
接受的答案对我来说不清楚,其他人也不起作用。 实际的解决方案如下
Espresso.onView(ViewMatchers.withId(R.id.search_box))
.perform(ViewActions.pressImeActionButton())
其中 search_box 是我的编辑文本的 ID。