アクティビティがonCreate()およびonResume()を呼び出すときに、キーボードの可視性をテストします。エスプレッソを使用してソフトキーボードが表示されているかどうかをテストします。
エスプレッソを使用してキーボードが表示されているかどうかをテストするにはどうすればよいですか?
アクティビティがonCreate()およびonResume()を呼び出すときに、キーボードの可視性をテストします。エスプレッソを使用してソフトキーボードが表示されているかどうかをテストします。
エスプレッソを使用してキーボードが表示されているかどうかをテストするにはどうすればよいですか?
これはチェックするトリックの種類のキーボードが表示されている場合、それは完璧なソリューションではありませんが、私のために十分だったです:フラグメント/アクティビティコンテナが
単純なコード例:
onView(allOf(withId(R.id.myFragment),isDisplayed()));
onView(withId(R.id.myFragment)).perform(pressBack());
onView(allOf(withId(R.id.myFragment),isDisplayed()));
キーボードが表示されている場合は、ボタンを押して戻って二度目は、ビューコンテナがまだそこにあることを意味します。)
・ホープこのヘルプ!
別のトリックは、キーボードが表示されているときにカバーされることがわかっているビューの可視性をチェックすることができます。エスプレッソで
//make sure keyboard is visible by clicking on an edit text component
ViewInteraction v = onView(withId(R.id.editText));
ViewInteraction v2 = onView(withId(R.id.componentVisibleBeforeKeyboardIsShown));
v2.check(matches(isDisplayed()));
v.perform(click());
//add a small delay because of the showing keyboard animation
SystemClock.sleep(500);
v2.check(matches(not(isDisplayed())));
hideKeyboardMethod();
//add a small delay because of the hiding keyboard animation
SystemClock.sleep(500);
v2.check(matches(isDisplayed()));
、睡眠()必要ないはずです...のようなものをマッチャしないためにエスプレッソとhamcrestを使用して
計装テストを考慮にアニメーションを取ることを忘れないでください。代わりに、IdlingResourceを使用する必要があります。また、 'Espresso.closeSoftKeyboard()'。 –