Skip to content

Release patrol 2.2.5, patrol_cli 2.1.4 (#1700) #92

Release patrol 2.2.5, patrol_cli 2.1.4 (#1700)

Release patrol 2.2.5, patrol_cli 2.1.4 (#1700) #92

This check has been archived and is scheduled for deletion. Learn more about checks retention
GitHub Actions / Patrol tests on iPhone 14 failed Sep 17, 2023 in 0s

Xcode test results

Test Runner

Summary

TotalSuccess PassedFailure FailedSkipped SkippedExpected Failure Expected Failure⏱️ Time
9810031.53s

Test Summary

RunnerUITests

  • Device: iPhone 14, 16.2 (20C52)
  • SDK: Simulator - iOS 16.2, 16.2
TestTotalSuccessFailureSkippedExpected Failure
test-class RunnerUITests98100

Failure Failures

RunnerUITests/RunnerUITests/webviewHackernewsTest

File/Users/runner/work/patrol/patrol/packages/patrol/example/ios/RunnerUITests/RunnerUITests.m:5
Issue TypeAssertion Failure
Message((response.passed) is true) failed - ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞═════════════════ The following PatrolActionException was thrown running a test: Patrol action failed: GrpcError: tap() failed with code NOT_FOUND (view with text "login" at index 0 in app pl.leancode.patrol.Example doesn't exist)

When the exception was thrown, this was the stack:
#0 NativeAutomator._wrapRequest (package:patrol/src/native/native_automator.dart:237:7)

#1 NativeAutomator.tap (package:patrol/src/native/native_automator.dart:545:5)

#2 main. (file:///Users/runner/work/patrol/patrol/packages/patrol/example/integration_test/webview_hackernews_test.dart:9:5)

#3 patrolTest. (package:patrol/src/common.dart:142:7)

#4 testWidgets.. (package:flutter_test/src/widget_tester.dart:165:15)

#5 TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:982:5)

The test description was:
interacts with the orange website in a webview
═════════════════════════════════════════════════════════════════

Details

Test Details

RunnerUITestsback

RunnerUITests back

SuccessFailureSkippedExpected Failure⏱️
8 (89%)1 (11%)0 (0%)0 (0%)31.53s
Successtest-method exampleTest

Activities:
  • Start Test at 2023-09-17 12:17:42.986
  • Some screenshots were deleted because testing is configured to remove automatic screenshots on success.
  • Set Up
  • Open pl.leancode.patrol.Example
    • Launch pl.leancode.patrol.Example
      • Terminate pl.leancode.patrol.Example:8077
      • Setting up automation session
      • Wait for pl.leancode.patrol.Example to idle
  • Pressing Home button
  • Open pl.leancode.patrol.Example
    • Activate pl.leancode.patrol.Example
      • Wait for pl.leancode.patrol.Example to idle
  • Tear Down
Successtest-method notificationsTest

Activities:
  • Start Test at 2023-09-17 12:17:55.442
  • Some screenshots were deleted because testing is configured to remove automatic screenshots on success.
  • Set Up
  • Open pl.leancode.patrol.Example
    • Launch pl.leancode.patrol.Example
      • Terminate pl.leancode.patrol.Example:8079
      • Setting up automation session
      • Wait for pl.leancode.patrol.Example to idle
  • Checking existence of "OK" Button
  • Checking existence of "Allow" Button
  • Checking existence of "OK" Button
  • Checking existence of "Allow" Button
  • Tap "Allow" Button
    • Wait for com.apple.springboard to idle
    • Find the "Allow" Button
    • Check for interrupting elements affecting "Allow" Button
    • Synthesize event
    • Wait for com.apple.springboard to idle
  • Pressing Home button
  • Press Application 'com.apple.springboard'[0.50, 0.01] for 0.1 seconds, then drag to Application 'com.apple.springboard'[0.50, 0.60] with velocity of 500.00 pixels per second, and then hold for 0.0 seconds
    • Wait for com.apple.springboard to idle
    • Find the Application 'com.apple.springboard'
    • Check for interrupting elements affecting " " Application
    • Synthesize event
      • Find the Application 'com.apple.springboard'
      • Find the Application 'com.apple.springboard'
    • Wait for com.apple.springboard to idle
  • Get all elements bound by index for: Elements matching predicate '"NotificationCell" IN identifiers'
  • Find the "NotificationCell" Button
  • Double tap "NotificationCell" Button
    • Wait for com.apple.springboard to idle
    • Find the "NotificationCell" Button
    • Check for interrupting elements affecting "NotificationCell" Button
    • Synthesize event
    • Wait for com.apple.springboard to idle
  • Tap "Open" Button
    • Wait for com.apple.springboard to idle
    • Find the "Open" Button
    • Check for interrupting elements affecting "swipe-action-button-identifier" Button
    • Synthesize event
    • Wait for com.apple.springboard to idle
  • Tear Down
Successtest-method openAppTest

Activities:
  • Start Test at 2023-09-17 12:18:20.314
  • Some screenshots were deleted because testing is configured to remove automatic screenshots on success.
  • Set Up
  • Open pl.leancode.patrol.Example
    • Launch pl.leancode.patrol.Example
      • Terminate pl.leancode.patrol.Example:8084
      • Setting up automation session
      • Wait for pl.leancode.patrol.Example to idle
  • Pressing Home button
  • Open com.apple.Maps
    • Launch com.apple.Maps
      • Setting up automation session
      • Wait for com.apple.Maps to idle
  • Pressing Home button
  • Open pl.leancode.patrol.Example
    • Activate pl.leancode.patrol.Example
      • Wait for pl.leancode.patrol.Example to idle
  • Tear Down
Successtest-method openQuickSettingsTest

Activities:
  • Start Test at 2023-09-17 12:18:38.950
  • Some screenshots were deleted because testing is configured to remove automatic screenshots on success.
  • Set Up
  • Open pl.leancode.patrol.Example
    • Launch pl.leancode.patrol.Example
      • Terminate pl.leancode.patrol.Example:8089
      • Setting up automation session
      • Wait for pl.leancode.patrol.Example to idle
  • Press Application 'com.apple.springboard'[0.90, 0.01] for 0.1 seconds, then drag to Application 'com.apple.springboard'[0.90, 0.20] with velocity of 500.00 pixels per second, and then hold for 0.0 seconds
    • Wait for com.apple.springboard to idle
    • Find the Application 'com.apple.springboard'
    • Check for interrupting elements affecting " " Application
      • Wait for pl.leancode.patrol.Example to idle
    • Synthesize event
      • Find the Application 'com.apple.springboard'
      • Find the Application 'com.apple.springboard'
    • Wait for com.apple.springboard to idle
  • Pressing Home button
  • Tear Down
Successtest-method permissionsLocationTest

Activities:
  • Start Test at 2023-09-17 12:18:47.234
  • Some screenshots were deleted because testing is configured to remove automatic screenshots on success.
  • Set Up
  • Open pl.leancode.patrol.Example
    • Launch pl.leancode.patrol.Example
      • Terminate pl.leancode.patrol.Example:8099
      • Setting up automation session
      • Wait for pl.leancode.patrol.Example to idle
  • Checking existence of "OK" Button
  • Checking existence of "Allow" Button
  • Checking existence of "Allow once" Button
  • Checking existence of "Allow While Using App" Button
  • Checking existence of "Don’t Allow" Button
  • Checking existence of "OK" Button
  • Checking existence of "Allow" Button
  • Checking existence of "Allow once" Button
  • Checking existence of "Allow While Using App" Button
  • Waiting 20.0s for "Precise: On" Button to exist
    • Checking Expect predicate exists == 1 for object "Precise: On" Button
      • Checking existence of "Precise: On" Button
  • Tap "Precise: On" Button
    • Wait for com.apple.springboard to idle
    • Find the "Precise: On" Button
    • Check for interrupting elements affecting "Precise: On" Button
    • Synthesize event
    • Wait for com.apple.springboard to idle
  • Waiting 20.0s for "Precise: Off" Button to exist
    • Checking Expect predicate exists == 1 for object "Precise: Off" Button
      • Checking existence of "Precise: Off" Button
  • Tap "Precise: Off" Button
    • Wait for com.apple.springboard to idle
    • Find the "Precise: Off" Button
    • Check for interrupting elements affecting "Precise: Off" Button
    • Synthesize event
    • Wait for com.apple.springboard to idle
  • Waiting 20.0s for "Precise: On" Button to exist
    • Checking Expect predicate exists == 1 for object "Precise: On" Button
      • Checking existence of "Precise: On" Button
  • Tap "Precise: On" Button
    • Wait for com.apple.springboard to idle
    • Find the "Precise: On" Button
    • Check for interrupting elements affecting "Precise: On" Button
    • Synthesize event
    • Wait for com.apple.springboard to idle
  • Waiting 20.0s for "Precise: Off" Button to exist
    • Checking Expect predicate exists == 1 for object "Precise: Off" Button
      • Checking existence of "Precise: Off" Button
  • Tap "Precise: Off" Button
    • Wait for com.apple.springboard to idle
    • Find the "Precise: Off" Button
    • Check for interrupting elements affecting "Precise: Off" Button
    • Synthesize event
    • Wait for com.apple.springboard to idle
  • Checking existence of "OK" Button
  • Checking existence of "Allow" Button
  • Checking existence of "Allow Once" Button
  • Tap "Allow Once" Button
    • Wait for com.apple.springboard to idle
    • Find the "Allow Once" Button
    • Check for interrupting elements affecting "Allow Once" Button
    • Synthesize event
    • Wait for com.apple.springboard to idle
  • Tear Down
Successtest-method permissionsManyTest

Activities:
  • Start Test at 2023-09-17 12:19:10.373
  • Some screenshots were deleted because testing is configured to remove automatic screenshots on success.
  • Set Up
  • Open pl.leancode.patrol.Example
    • Launch pl.leancode.patrol.Example
      • Terminate pl.leancode.patrol.Example:8101
      • Setting up automation session
      • Wait for pl.leancode.patrol.Example to idle
  • Checking existence of "OK" Button
  • Checking existence of "Allow" Button
  • Checking existence of "Allow once" Button
  • Checking existence of "Allow While Using App" Button
  • Checking existence of "Don’t Allow" Button
  • Checking existence of "OK" Button
  • Checking existence of "OK" Button
  • Tap "OK" Button
    • Wait for com.apple.springboard to idle
    • Find the "OK" Button
    • Check for interrupting elements affecting "OK" Button
    • Synthesize event
    • Wait for com.apple.springboard to idle
  • Checking existence of "OK" Button
  • Checking existence of "OK" Button
  • Tap "OK" Button
    • Wait for com.apple.springboard to idle
    • Find the "OK" Button
    • Check for interrupting elements affecting "OK" Button
    • Synthesize event
    • Wait for com.apple.springboard to idle
  • Checking existence of "OK" Button
  • Waiting 20.0s for "Don’t Allow" Button to exist
    • Checking Expect predicate exists == 1 for object "Don’t Allow" Button
      • Checking existence of "Don’t Allow" Button
  • Tap "Don’t Allow" Button
    • Wait for com.apple.springboard to idle
    • Find the "Don’t Allow" Button
    • Check for interrupting elements affecting "Don’t Allow" Button
    • Synthesize event
    • Wait for com.apple.springboard to idle
  • Tear Down
Successtest-method serviceDarkModeTest

Activities:
  • Start Test at 2023-09-17 12:19:26.840
  • Some screenshots were deleted because testing is configured to remove automatic screenshots on success.
  • Set Up
  • Open pl.leancode.patrol.Example
    • Launch pl.leancode.patrol.Example
      • Terminate pl.leancode.patrol.Example:8139
      • Setting up automation session
      • Wait for pl.leancode.patrol.Example to idle
  • Open com.apple.springboard
    • Activate com.apple.springboard
      • Wait for com.apple.springboard to idle
  • Open com.apple.Preferences
    • Launch com.apple.Preferences
      • Setting up automation session
      • Wait for com.apple.Preferences to idle
  • Tap "Developer" Any
    • Wait for com.apple.Preferences to idle
    • Find the "Developer" Any
    • Check for interrupting elements affecting "Developer" Cell
    • Synthesize event
      • Scroll element to visible
      • Find the "Developer" Cell
      • Computed hit point {195, 671.66666793823242} after scrolling to visible
    • Wait for com.apple.Preferences to idle
  • Find the "Dark Appearance" Any
  • Open com.apple.springboard
    • Activate com.apple.springboard
      • Wait for com.apple.springboard to idle
  • Terminate com.apple.Preferences:8145
  • Open pl.leancode.patrol.Example
    • Activate pl.leancode.patrol.Example
      • Wait for pl.leancode.patrol.Example to idle
  • Open com.apple.springboard
    • Activate com.apple.springboard
      • Wait for com.apple.springboard to idle
  • Open com.apple.Preferences
    • Launch com.apple.Preferences
      • Setting up automation session
      • Wait for com.apple.Preferences to idle
  • Tap "Developer" Any
    • Wait for com.apple.Preferences to idle
    • Find the "Developer" Any
    • Check for interrupting elements affecting "Developer" NavigationBar
    • Synthesize event
    • Wait for com.apple.Preferences to idle
  • Find the "Dark Appearance" Any
  • Tap "Dark Appearance" Any
    • Wait for com.apple.Preferences to idle
    • Find the "Dark Appearance" Any
    • Check for interrupting elements affecting "Dark Appearance" Cell
    • Synthesize event
    • Wait for com.apple.Preferences to idle
  • Open com.apple.springboard
    • Activate com.apple.springboard
      • Wait for com.apple.springboard to idle
  • Terminate com.apple.Preferences:8148
  • Open pl.leancode.patrol.Example
    • Activate pl.leancode.patrol.Example
      • Wait for pl.leancode.patrol.Example to idle
  • Open com.apple.springboard
    • Activate com.apple.springboard
      • Wait for com.apple.springboard to idle
  • Open com.apple.Preferences
    • Launch com.apple.Preferences
      • Setting up automation session
      • Wait for com.apple.Preferences to idle
  • Tap "Developer" Any
    • Wait for com.apple.Preferences to idle
    • Find the "Developer" Any
    • Check for interrupting elements affecting "Developer" Cell
    • Synthesize event
      • Scroll element to visible
      • Find the "Developer" Cell
      • Computed hit point {195, 671.66666793823242} after scrolling to visible
    • Wait for com.apple.Preferences to idle
  • Find the "Dark Appearance" Any
  • Tap "Dark Appearance" Any
    • Wait for com.apple.Preferences to idle
    • Find the "Dark Appearance" Any
    • Check for interrupting elements affecting "Dark Appearance" Cell
    • Synthesize event
    • Wait for com.apple.Preferences to idle
  • Open com.apple.springboard
    • Activate com.apple.springboard
      • Wait for com.apple.springboard to idle
  • Terminate com.apple.Preferences:8150
  • Open pl.leancode.patrol.Example
    • Activate pl.leancode.patrol.Example
      • Wait for pl.leancode.patrol.Example to idle
  • Open com.apple.springboard
    • Activate com.apple.springboard
      • Wait for com.apple.springboard to idle
  • Open com.apple.Preferences
    • Launch com.apple.Preferences
      • Setting up automation session
      • Wait for com.apple.Preferences to idle
  • Tap "Developer" Any
    • Wait for com.apple.Preferences to idle
    • Find the "Developer" Any
    • Check for interrupting elements affecting "Developer" Cell
    • Synthesize event
      • Scroll element to visible
      • Find the "Developer" Cell
      • Computed hit point {195, 671.66666793823242} after scrolling to visible
    • Wait for com.apple.Preferences to idle
  • Find the "Dark Appearance" Any
  • Tap "Dark Appearance" Any
    • Wait for com.apple.Preferences to idle
    • Find the "Dark Appearance" Any
    • Check for interrupting elements affecting "Dark Appearance" Cell
    • Synthesize event
    • Wait for com.apple.Preferences to idle
  • Open com.apple.springboard
    • Activate com.apple.springboard
      • Wait for com.apple.springboard to idle
  • Terminate com.apple.Preferences:8152
  • Open pl.leancode.patrol.Example
    • Activate pl.leancode.patrol.Example
      • Wait for pl.leancode.patrol.Example to idle
  • Tear Down
Failuretest-method webviewHackernewsTestback

Activities:
  • Start Test at 2023-09-17 12:20:23.011

    attachment
  • Set Up

  • Open pl.leancode.patrol.Example

    attachment
    • Launch pl.leancode.patrol.Example
      • Terminate pl.leancode.patrol.Example:8143

        attachment
      • Setting up automation session

      • Wait for pl.leancode.patrol.Example to idle

        attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Get all elements bound by index for: Elements matching predicate 'label == "login" OR title == "login" OR identifier == "login"'

    attachment
  • Tear Down

Successtest-method webviewLeancodeTest

Activities:
  • Start Test at 2023-09-17 12:20:52.344
  • Some screenshots were deleted because testing is configured to remove automatic screenshots on success.
  • Set Up
  • Open pl.leancode.patrol.Example
    • Launch pl.leancode.patrol.Example
      • Terminate pl.leancode.patrol.Example:8156
      • Setting up automation session
      • Wait for pl.leancode.patrol.Example to idle
  • Get all elements bound by index for: Elements matching predicate 'label == "Accept cookies" OR title == "Accept cookies" OR identifier == "Accept cookies"'
  • Get all elements bound by index for: Elements matching predicate 'label == "Accept cookies" OR title == "Accept cookies" OR identifier == "Accept cookies"'
  • Get all elements bound by index for: Elements matching predicate 'label == "Accept cookies" OR title == "Accept cookies" OR identifier == "Accept cookies"'
  • Get all elements bound by index for: Elements matching predicate 'label == "Accept cookies" OR title == "Accept cookies" OR identifier == "Accept cookies"'
  • Get all elements bound by index for: Elements matching predicate 'label == "Accept cookies" OR title == "Accept cookies" OR identifier == "Accept cookies"'
  • Get all elements bound by index for: Elements matching predicate 'label == "Accept cookies" OR title == "Accept cookies" OR identifier == "Accept cookies"'
  • Checking existence of Any
  • Find the Any
  • Tap "Accept cookies" Button
    • Wait for pl.leancode.patrol.Example to idle
    • Find the "Accept cookies" Button
    • Check for interrupting elements affecting "Accept cookies" Button
    • Synthesize event
    • Wait for pl.leancode.patrol.Example to idle
  • Get all elements bound by index for: Elements matching predicate 'elementType == 49 OR elementType == 50'
  • Checking existence of Any
  • Find the Any
  • Tap "Type your email" TextField
    • Wait for pl.leancode.patrol.Example to idle
    • Find the "Type your email" TextField
    • Check for interrupting elements affecting "Type your email" TextField
    • Synthesize event
    • Wait for pl.leancode.patrol.Example to idle
  • Type '[email protected]
    ' into "Type your email" TextField
    • Wait for pl.leancode.patrol.Example to idle
    • Find the "Type your email" TextField
    • Check for interrupting elements affecting "Type your email" TextField
    • Synthesize event
    • Wait for pl.leancode.patrol.Example to idle
  • Get all elements bound by index for: Elements matching predicate 'label == "Subscribe" OR title == "Subscribe" OR identifier == "Subscribe"'
  • Checking existence of Any
  • Find the Any
  • Tap "Subscribe" Button
    • Wait for pl.leancode.patrol.Example to idle
    • Find the "Subscribe" Button
    • Check for interrupting elements affecting "Subscribe" Button
    • Synthesize event
    • Wait for pl.leancode.patrol.Example to idle
  • Tear Down

Annotations

Check failure on line 5 in /Users/runner/work/patrol/patrol/packages/patrol/example/ios/RunnerUITests/RunnerUITests.m

See this annotation in the file changed.

@github-actions github-actions / Patrol tests on iPhone 14

Assertion Failure

((response.passed) is true) failed - ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞═════════════════
The following PatrolActionException was thrown running a test:
Patrol action failed: GrpcError: tap() failed with code NOT_FOUND
(view with text "login" at index 0 in app
pl.leancode.patrol.Example doesn't exist)

When the exception was thrown, this was the stack:
#0      NativeAutomator._wrapRequest (package:patrol/src/native/native_automator.dart:237:7)
<asynchronous suspension>
#1      NativeAutomator.tap (package:patrol/src/native/native_automator.dart:545:5)
<asynchronous suspension>
#2      main.<anonymous closure> (file:///Users/runner/work/patrol/patrol/packages/patrol/example/integration_test/webview_hackernews_test.dart:9:5)
<asynchronous suspension>
#3      patrolTest.<anonymous closure> (package:patrol/src/common.dart:142:7)
<asynchronous suspension>
#4      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:165:15)
<asynchronous suspension>
#5      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:982:5)
<asynchronous suspension>

The test description was:
  interacts with the orange website in a webview
═════════════════════════════════════════════════════════════════