web-dev-qa-db-ja.com

Espresso 2.2.2でViewActions.closeSoftKeyboard()を機能させることができません

アプリをテストしようとしていますが、ボタンがクリックできないためキーボードを非表示にする必要があります。そこで、build.gradleにEspressoを追加しました。

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

Android.support.test.espresso.action.ViewActionsライブラリからこれを使用しようとしました:

ViewActions.closeSoftKeyboard();

テストは正常に実行されますが、レイアウトのEditTextにテキストを入力すると失敗します。そして、キーボードはまだそこにあり、表示されています。

追伸 この回答を読んだ後、キーボードの障害だと気づきました。

17
getsadzeg

ViewActionは、ViewInteractionで使用しない限り、それ自体では何もしません。つまり、次のようにperform()の前のアクションとチェーンする必要があります:onView()..perform(typeText(..), closeSoftKeyboard())またはこのようなEspressoクラスにある組み込みヘルパーを使用する必要があります: Espresso.closeSoftKeyboard()

42
Be_Negative