patrol icon indicating copy to clipboard operation
patrol copied to clipboard

Wait for `PatrolFinder` matcher to be visible while using `at()`

Open fylyppo opened this issue 2 years ago • 0 comments

Steps to reproduce

  1. Clone bug/at_reproduce_example
  2. Go to packages/patrol/example
  3. Run patrol test -t integration_test/example_test.dart

Actual results

Test is failed right after await $(ListView).$(ListTile).at(1).tap(); is invoked.

Logs

Logs
java.lang.AssertionError: Dart test failed: example_test aye
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞═════════════════
The following IndexError was thrown running a test:
RangeError (index): Index out of range: index should be less than
1: 1

When the exception was thrown, this was the stack:
#0      Iterable.elementAt (dart:core/iterable.dart:807:5)
#1      _IndexFinderMixin.filter (package:flutter_test/src/finders.dart:1103:28)
#3      _HitTestableWidgetFinder.filter (package:flutter_test/src/finders.dart:1143:37)
#5      Iterable.isEmpty (dart:core/iterable.dart:540:33)
#6      PatrolTester.waitUntilVisible.<anonymous closure> (package:patrol_finders/src/custom_finders/patrol_tester.dart:401:43)
#9      TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:71:41)
#10     PatrolTester.waitUntilVisible (package:patrol_finders/src/custom_finders/patrol_tester.dart:397:27)
#11     PatrolTester.tap.<anonymous closure> (package:patrol_finders/src/custom_finders/patrol_tester.dart:249:36)
#14     TestAsyncUtils.guard (package:flutter_test/src/test_async_utils.dart:71:41)
#15     PatrolTester.tap (package:patrol_finders/src/custom_finders/patrol_tester.dart:248:27)
#16     PatrolFinder.tap (package:patrol_finders/src/custom_finders/patrol_finder.dart:207:18)
#17     main.<anonymous closure> (file:///Users/fylyppo/Documents/GitHub/patrol/packages/patrol/example/integration_test/example_test.dart:12:43)
<asynchronous suspension>
#18     patrolTest.<anonymous closure> (package:patrol/src/common.dart:110:7)
<asynchronous suspension>
#19     testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:168:15)
<asynchronous suspension>
#20     TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:1013:5)
<asynchronous suspension>
#21     TestWidgetsFlutterBinding._createTestCompletionHandler.<anonymous closure> (package:flutter_test/src/binding.dart:804:12)
<asynchronous suspension>
(elided 6 frames from dart:async and dart:async-patch)

The test description was:
aye
═════════════════════════════════════════════════════════════════

at pl.leancode.patrol.PatrolJUnitRunner.runDartTest(PatrolJUnitRunner.java:135)
at pl.leancode.patrol.example.MainActivityTest.runDartTest(MainActivityTest.java:29)

Patrol version

from path

Patrol Doctor output

Patrol Doctor output
Patrol CLI version: 2.3.1+1
Program adb found in /opt/homebrew/bin/adb
Env var $ANDROID_HOME is not set
Program xcodebuild found in /usr/bin/xcodebuild
Program ideviceinstaller not found (install with `brew install ideviceinstaller`)

Flutter Doctor output

Flutter Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.16.0, on macOS 14.0 23A344 darwin-arm64, locale pl-PL)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.81.1)
[✓] Connected device (4 available)
[✓] Network resources

• No issues found!

fylyppo avatar Nov 21 '23 20:11 fylyppo