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();
});
}