I'm trying to test an app and I require to hide the keyboard, because I cannot click button because of it. So, I added Espresso in build.gradle:
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
and tried to use this from android.support.test.espresso.action.ViewActions
library:
ViewActions.closeSoftKeyboard();
Test runs successfully, but fails after typing some text in EditText in my layout. And keyboard is still there, showing.
P.S. I realized it was keyboard's fault after reading this answer.
ViewAction
on its own does not do anything unless it is used in the ViewInteraction
. That means that you need to either chain it with your previous action in perform()
like this: onView()..perform(typeText(..), closeSoftKeyboard())
or use a built-in helper which is in Espresso
class like this: Espresso.closeSoftKeyboard()
You can implement this:
fun hideKeyboard() { onView(ViewMatchers.isRoot()).perform(ViewActions.closeSoftKeyboard()) }
After that only use this: paymentMethodPage.hideKeyboard()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With