2016-09-19 87 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()明確表示。這就是他們在這些例子中所做的,我只是直到現在才明白爲什麼:) –