From 06314a073dfdd844e42471259dfaaecad998e97e Mon Sep 17 00:00:00 2001 From: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com> Date: Thu, 21 Apr 2022 13:14:10 -0700 Subject: [PATCH] Put `waitFor` back in keyboard_textfield_test integration test (#102315) --- .../ui/lib/keyboard_textfield.dart | 7 +++---- .../test_driver/keyboard_textfield_test.dart | 21 ++++--------------- 2 files changed, 7 insertions(+), 21 deletions(-) diff --git a/dev/integration_tests/ui/lib/keyboard_textfield.dart b/dev/integration_tests/ui/lib/keyboard_textfield.dart index 4917657c60..0f9268a6fe 100644 --- a/dev/integration_tests/ui/lib/keyboard_textfield.dart +++ b/dev/integration_tests/ui/lib/keyboard_textfield.dart @@ -62,11 +62,10 @@ class _MyHomePageState extends State { Text('$offset', key: const ValueKey(keys.kOffsetText), ), - Text( - isSoftKeyboardVisible ? 'keyboard visible' : 'keyboard hidden', - key: const ValueKey(keys.kKeyboardVisibleView), + if (isSoftKeyboardVisible) const Text( + 'keyboard visible', + key: ValueKey(keys.kKeyboardVisibleView), ), - const ElevatedButton(onPressed: debugDumpApp, child: Text('dump app')), Expanded( child: ListView( key: const ValueKey(keys.kListView), diff --git a/dev/integration_tests/ui/test_driver/keyboard_textfield_test.dart b/dev/integration_tests/ui/test_driver/keyboard_textfield_test.dart index d8353873cc..286fc396b1 100644 --- a/dev/integration_tests/ui/test_driver/keyboard_textfield_test.dart +++ b/dev/integration_tests/ui/test_driver/keyboard_textfield_test.dart @@ -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.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);