Put waitFor back in keyboard_textfield_test integration test (#102315)

This commit is contained in:
LongCatIsLooong 2022-04-21 13:14:10 -07:00 committed by GitHub
parent b63689de69
commit 06314a073d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 21 deletions

View File

@ -62,11 +62,10 @@ class _MyHomePageState extends State<MyHomePage> {
Text('$offset',
key: const ValueKey<String>(keys.kOffsetText),
),
Text(
isSoftKeyboardVisible ? 'keyboard visible' : 'keyboard hidden',
key: const ValueKey<String>(keys.kKeyboardVisibleView),
if (isSoftKeyboardVisible) const Text(
'keyboard visible',
key: ValueKey<String>(keys.kKeyboardVisibleView),
),
const ElevatedButton(onPressed: debugDumpApp, child: Text('dump app')),
Expanded(
child: ListView(
key: const ValueKey<String>(keys.kListView),

View File

@ -40,23 +40,10 @@ void main() {
// Bring up keyboard
await driver.tap(textFieldFinder);
const int keyboardTimeout = 3;
bool keyboardVisible = false;
for (int i = 0; i < keyboardTimeout; i++) {
await Future<void>.delayed(const Duration(seconds: 1));
final String keyboardVisibilityText = await driver.getText(keyboardVisibilityIndicatorFinder);
keyboardVisible = keyboardVisibilityText == 'keyboard visible';
if (keyboardVisible) {
break;
}
}
if (!keyboardVisible) {
await driver.tap(find.text('dump app'));
}
// TODO(jmagman): Remove timeout once flake has been diagnosed. https://github.com/flutter/flutter/issues/96787
expect(keyboardVisible, isTrue);
// The blinking cursor may have animation. Do not wait for it to finish.
await driver.runUnsynchronized(() async {
await driver.waitFor(keyboardVisibilityIndicatorFinder);
});
// Ensure that TextField is visible again
await driver.waitFor(textFieldFinder);