2016-09-19 95 views
4

我想测试一个应用程序,我需要隐藏键盘,因为我不能单击按钮,因为它。所以,我的build.gradle加咖啡:我不能让ViewActions.closeSoftKeyboard()工作在Espresso 2.2.2

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.

回答

10

ViewAction本身不会做任何事情,除非它在ViewInteraction中使用。这意味着你需要或者你的上一个操作perform()连锁这样的:onView()..perform(typeText(..), closeSoftKeyboard()),或者使用内置的辅助是在这样的Espresso类:Espresso.closeSoftKeyboard()

+0

是的,它解决了键盘问题,但错误STIL存在。 。 不管怎么说,还是要谢谢你。 – getsadzeg

+0

他们真的应该给这些不同的名字。一旦导入,一个名为“closeSoftKeyboard()”的方法只有在链接到ViewActions时才有效。我被这个绊了一下,但你的答案帮助了我。从现在开始,我将使用Espresso.closeSoftKeyboard()明确表示。这就是他们在这些例子中所做的,我只是直到现在才明白为什么:) –