1. 07 May, 2018 1 commit
    • Chris Bracken's avatar
      Mark integration_ui flaky (#17319) · 4509b15d
      Chris Bracken authored
      This test fails consistently on mac2 and mac3 with the attached Moto G4
      devices but passes consistently on other machines.
      
      Adding a delay of 1s right after driver.connect() in setUpAll() causes
      it to pass on the machines in question, which suggests a race condition.
      Specifically it looks like connect returns the moment Flutter Driver
      identifies that the isolate is up and running, but empirically it looks
      like we start running the first test before the UI is actually up. This
      triggers a failure wherein we start looking for elements before they're
      onstage.
      
      Link to viewport.dart:213 at HEAD:
      https://github.com/flutter/flutter/blob/b2b46659262c66ff13abc2b8016a94a47646eaad/packages/flutter/lib/src/widgets/viewport.dart#L213
      
      Stack trace:
      FlutterDriver waitFor should find text "present"
      
      ```
        DriverError: Error in Flutter application: Uncaught extension error while executing waitFor: NoSuchMethodError: The getter 'visible' was called on null.
        Receiver: null
        Tried calling: visible
        #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5)
        #1      _ViewportElement.debugVisitOnstageChildren. (package:flutter/src/widgets/viewport.dart:213:36)
        #2      WhereIterator.moveNext (dart:_internal/iterable.dart:439:11)
        #3      Iterable.forEach (dart:core/iterable.dart)
        #4      _ViewportElement.debugVisitOnstageChildren (package:flutter/src/widgets/viewport.dart:214:8)
        #5      _DepthFirstChildIterator._reverseChildrenOf (package:flutter_test/src/all_elements.dart:54:15)
        #6      _DepthFirstChildIterator.moveNext (package:flutter_test/src/all_elements.dart:45:19)
        #7      CachingIterable._fillNext (package:flutter/src/foundation/basic_types.dart:252:27)
        #8      _LazyListIterator.moveNext (package:flutter/src/foundation/basic_types.dart:279:21)
        #9      WhereIterator.moveNext (dart:_internal/iterable.dart:438:22)
        #10     CachingIterable._fillNext (package:flutter/src/foundation/basic_types.dart:252:27)
        #11     _LazyListIterator.moveNext (package:flutter/src/foundation/basic_types.dart:279:21)
        #12     Iterable.isEmpty (dart:core/iterable.dart:449:33)
        #13     Iterable.isNotEmpty (dart:core/iterable.dart:456:27)
        #14     FlutterDriverExtension._waitForElement. (package:flutter_driver/src/extension/extension.dart:215:51)
        #15     FlutterDriverExtension._waitUntilFrame (package:flutter_driver/src/extension/extension.dart:197:19)
        #16     FlutterDriverExtension._waitForElement (package:flutter_driver/src/extension/extension.dart:215:11)
      
        #17     FlutterDriverExtension._waitFor (package:flutter_driver/src/extension/extension.dart:286:11)
      
        #18     FlutterDriverExtension.call (package:flutter_driver/src/extension/extension.dart:168:51)
      
        #19     BindingBase.registerServiceExtension. (package:flutter/src/foundation/binding.dart:370:32)
      ```
      
      Removes a previous hack that no longer appears to help (adding a 1
      second delay in setUpAll() does seem to work around this issue though).
      4509b15d
  2. 11 Jan, 2018 1 commit
  3. 07 Dec, 2017 1 commit
  4. 11 Sep, 2017 1 commit
    • Yegor's avatar
      only tap on widgets reachable by hit testing (#11767) · ba5b5e7f
      Yegor authored
      * only tap on widgets reachable by hit testing
      
      * use FractionalOffset
      
      * added tests
      
      * check finder finds correct widget
      
      * undo unintentional changes
      
      * address comments
      
      * style fix
      
      * add Directionality in test
      
      * fix analysis warning
      ba5b5e7f
  5. 22 Aug, 2017 1 commit
    • Carlo Bernaschina's avatar
      Add log to understand flakiness of commands_test (#11720) · a8aff388
      Carlo Bernaschina authored
      The flakiness of commands_test is generally visible via:
      
      ```
      drive:stdout:   Expected: 'log: paint'
      drive:stdout:     Actual: ''
      drive:stdout:      Which: is different. Both strings start the same, but the actual value is missing the following trailing characters: log: paint ...
      ```
      
      By returning the name of the test we will be able to understand if
      another test is running by reading the `Actual` value
      a8aff388
  6. 01 Aug, 2017 2 commits
  7. 28 Jul, 2017 1 commit