From 11d7c79b9902f960e9541f9f7da2f8857e4aaef4 Mon Sep 17 00:00:00 2001 From: Todd Volkert Date: Thu, 20 Jul 2017 14:33:35 -0700 Subject: [PATCH] Always evaluate the finder in `driver.waitFor()` and `driver.waitForAbsent()` Fixes #11327 --- packages/flutter_driver/lib/src/extension.dart | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/flutter_driver/lib/src/extension.dart b/packages/flutter_driver/lib/src/extension.dart index bae8aa3d63b..5f7e4cf4bbc 100644 --- a/packages/flutter_driver/lib/src/extension.dart +++ b/packages/flutter_driver/lib/src/extension.dart @@ -200,7 +200,7 @@ class FlutterDriverExtension { if (_frameSync) await _waitUntilFrame(() => SchedulerBinding.instance.transientCallbackCount == 0); - await _waitUntilFrame(() => finder.precache()); + await _waitUntilFrame(() => finder.evaluate().isNotEmpty); if (_frameSync) await _waitUntilFrame(() => SchedulerBinding.instance.transientCallbackCount == 0); @@ -213,7 +213,7 @@ class FlutterDriverExtension { if (_frameSync) await _waitUntilFrame(() => SchedulerBinding.instance.transientCallbackCount == 0); - await _waitUntilFrame(() => !finder.precache()); + await _waitUntilFrame(() => finder.evaluate().isEmpty); if (_frameSync) await _waitUntilFrame(() => SchedulerBinding.instance.transientCallbackCount == 0); @@ -268,10 +268,8 @@ class FlutterDriverExtension { Future _waitFor(Command command) async { final WaitFor waitForCommand = command; - if ((await _waitForElement(_createFinder(waitForCommand.finder))).evaluate().isNotEmpty) - return new WaitForResult(); - else - return null; + await _waitForElement(_createFinder(waitForCommand.finder)); + return new WaitForResult(); } Future _waitForAbsent(Command command) async {