showKeyboard method
Give the text input widget specified by finder
the focus, as if the
onscreen keyboard had appeared.
Implies a call to pump.
The widget specified by finder
must be an EditableText or have
an EditableText descendant. For example find.byType(TextField)
or find.byType(TextFormField)
, or find.byType(EditableText)
.
Tests that just need to add text to widgets like TextField or TextFormField only need to call enterText.
Implementation
Future<void> showKeyboard(Finder finder) async {
return TestAsyncUtils.guard<void>(() async {
final EditableTextState editable = state<EditableTextState>(
find.descendant(
of: finder,
matching: find.byType(EditableText),
matchRoot: true,
),
);
binding.focusedEditable = editable;
await pump();
});
}