画面にEditText
とスキップButton
が含まれているエスプレッソテストがあります。 アクティビティを起動すると、キーボードがポップアップし、EditText
にフォーカスし、Button
と重複します。
スキップボタンのテストを作成し、その後に何が起こるのかをアサートする必要があります。エスプレッソはキーボードが開くのを待っていません
エスプレッソはキーボードが開くのを待たないという問題があります。
は、だから何が起こるかは
- エスプレッソは、キーボードを待っていないで、「スキップ」
- キーボードスライドプレスオープン
- キーボードが
コードルックスを失敗したの下に何かのためのアサーションは今thatsのこのように:
public void givenSkipped_whenConfirmed_thenMainActivityLaunched() {
Espresso.closeSoftKeyboard();// <- Not working as espresso seems to think it is not open yet
skipPostcodeEntry.perform(click()); //<- Can click this as keyboard is not open yet.
warningText.check(matches(withText(R.string.some_text)));
confirmationButton.perform(click());//<- Fails as this is now overlapped by KB
Assert.DoesSomething()
}
エスプレッソはnot waiting for the keyboard to closeだったが、キーボードが開くのを待っていないという問題はなかった。
誰でもこの問題を解決しましたか?
編集:
あなたがCloseKeyboardAction
というクラスを見つけることができますcloseSoftKeyboard
方法を調べます。キーボードが開いていると認識されない場合でもログが記録されることがわかります。