enterText method
- FinderBase<
Element> finder, - String text
Give the text input widget specified by finder
the focus and replace its
content with text
, as if it had been provided by the onscreen keyboard.
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)
.
When the returned future completes, the text input widget's text will be
exactly text
, and the caret will be placed at the end of text
.
To just give finder
the focus without entering any text,
see showKeyboard.
To enter text into other widgets (e.g. a custom widget that maintains a
TextInputConnection the way that a EditableText does), first ensure that
that widget has an open connection (e.g. by using tap to focus it),
then call testTextInput.enterText
directly (see
TestTextInput.enterText).
Implementation
Future<void> enterText(FinderBase<Element> finder, String text) async {
return TestAsyncUtils.guard<void>(() async {
await showKeyboard(finder);
testTextInput.enterText(text);
await idle();
});
}