我无法使ViewActions.closeSoftKeyboard()在Espresso 2.2.2中运行

时间:2016-09-19 19:09:53

标签: android unit-testing testing android-espresso

我正在尝试测试应用,我需要隐藏键盘,因为我无法点击按钮。所以,我在build.gradle中添加了Espresso:

androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'

并尝试在android.support.test.espresso.action.ViewActions库中使用此功能:

ViewActions.closeSoftKeyboard();

测试成功运行,但在我的布局中在EditText中键入一些文本后失败。键盘仍在那里,显示出来。

P.S。我意识到reading this answer.

之后是键盘故障

2 个答案:

答案 0 :(得分:28)

ViewAction除非在ViewInteraction中使用,否则它本身不会做任何事情。这意味着您需要使用perform()中的先前操作将其链接起来,如下所示:onView()..perform(typeText(..), closeSoftKeyboard())或使用Espresso类中的内置帮助器,如下所示:{{1} }

答案 1 :(得分:1)

您可以执行以下操作:

fun hideKeyboard() {
    onView(ViewMatchers.isRoot()).perform(ViewActions.closeSoftKeyboard())
  }

之后只能使用此命令:paymentMethodPage.hideKeyboard()