[INFO ] MAESTRO - ---- System Info ---- [INFO ] MAESTRO - Maestro Version: 1.38.1 [INFO ] MAESTRO - CI: Undefined [INFO ] MAESTRO - OS Name: Mac OS X [INFO ] MAESTRO - OS Version: 15.5 [INFO ] MAESTRO - Architecture: aarch64 [INFO ] MAESTRO - Java Version: 17 [INFO ] MAESTRO - Xcode Version: 16.0 [INFO ] MAESTRO - Flutter Version: Undefined [INFO ] MAESTRO - Flutter Channel: Undefined [INFO ] MAESTRO - --------------------- [INFO ] maestro.Maestro - Getting device info [INFO ] m.cli.runner.MaestroCommandRunner - Define variables RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Define variables metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=null, tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=DefineVariablesCommand(env={APP_ID=com.stripe.react.native, NEW_ARCH=}, label=null), runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] m.cli.runner.MaestroCommandRunner - Define variables COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Apply configuration RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Apply configuration metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=null, tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=ApplyConfigurationCommand(config=MaestroConfig(appId=com.stripe.react.native, name=null, tags=[], ext={}, onFlowStart=null, onFlowComplete=null), label=null), openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] m.cli.runner.MaestroCommandRunner - Apply configuration COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Launch app "${APP_ID}" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Launch app "${APP_ID}" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=null, tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=LaunchAppCommand(appId=com.stripe.react.native, clearState=null, clearKeychain=null, stopApp=null, permissions=null, launchArguments=null, label=null), applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Launching app com.stripe.react.native [INFO ] m.cli.runner.MaestroCommandRunner - Launch app "${APP_ID}" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Accept a payment" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Accept a payment" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=Accept a payment, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), retryIfNoChange=true, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null), tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Accept a payment, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,257][1080,314], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=0, y=257, width=1080, height=57)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (540, 285) using hierarchy based logic for wait [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to byte array [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to output sink [INFO ] maestro.Maestro - Something have changed in the UI judging by view hierarchy. Proceed. [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Accept a payment" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Prebuilt UI (multi-step)" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Prebuilt UI (multi-step)" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=Prebuilt UI (multi-step), idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), retryIfNoChange=true, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null), tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Prebuilt UI (multi-step), accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,793][1038,850], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=84, y=793, width=954, height=57)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (561, 821) using hierarchy based logic for wait [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to byte array [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to output sink [INFO ] maestro.Maestro - Something have changed in the UI judging by view hierarchy. Proceed. [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Prebuilt UI (multi-step)" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "Choose payment method" is visible RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "Choose payment method" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=null, tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Choose payment method, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), notVisible=null, scriptCondition=null, label=null), timeout=150000, label=null), assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "Choose payment method" is visible COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Trigger timeout" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Trigger timeout" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=Trigger timeout, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), retryIfNoChange=true, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null), tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Trigger timeout, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[394,572][686,629], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=394, y=572, width=292, height=57)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (540, 600) using hierarchy based logic for wait [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to byte array [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to output sink [INFO ] maestro.Maestro - Something have changed in the UI judging by view hierarchy. Proceed. [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Trigger timeout" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Assert that ".*Timeout.*" is visible RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Assert that ".*Timeout.*" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=null, tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=.*Timeout.*, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null), assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] m.cli.runner.MaestroCommandRunner - Assert that ".*Timeout.*" is visible COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "OK" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "OK" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=OK, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), retryIfNoChange=true, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null), tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Tapping on element: UiElement(treeNode=TreeNode(attributes={text=OK, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=android:id/button1, clickable=true, bounds=[810,1029][978,1155], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.Button}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=810, y=1029, width=168, height=126)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (894, 1092) using hierarchy based logic for wait [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to byte array [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to output sink [INFO ] maestro.Maestro - Something have changed in the UI judging by view hierarchy. Proceed. [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "OK" COMPLETED [ERROR] m.cli.session.MaestroSessionManager - Failed to record heartbeat java.lang.InterruptedException: sleep interrupted at java.base/java.lang.Thread.sleep(Native Method) at maestro.cli.session.MaestroSessionManager.newSession$lambda$0(MaestroSessionManager.kt:73) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) [INFO ] MAESTRO - ---- System Info ---- [INFO ] MAESTRO - Maestro Version: 1.38.1 [INFO ] MAESTRO - CI: Undefined [INFO ] MAESTRO - OS Name: Mac OS X [INFO ] MAESTRO - OS Version: 15.5 [INFO ] MAESTRO - Architecture: aarch64 [INFO ] MAESTRO - Java Version: 17 [INFO ] MAESTRO - Xcode Version: 16.0 [INFO ] MAESTRO - Flutter Version: Undefined [INFO ] MAESTRO - Flutter Channel: Undefined [INFO ] MAESTRO - --------------------- [INFO ] maestro.Maestro - Getting device info [INFO ] m.cli.runner.MaestroCommandRunner - Define variables RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Define variables metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=null, tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=DefineVariablesCommand(env={APP_ID=com.stripe.react.native, NEW_ARCH=}, label=null), runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] m.cli.runner.MaestroCommandRunner - Define variables COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Apply configuration RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Apply configuration metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=null, tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=ApplyConfigurationCommand(config=MaestroConfig(appId=com.stripe.react.native, name=null, tags=[], ext={}, onFlowStart=null, onFlowComplete=null), label=null), openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] m.cli.runner.MaestroCommandRunner - Apply configuration COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Launch app "${APP_ID}" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Launch app "${APP_ID}" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=null, tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=LaunchAppCommand(appId=com.stripe.react.native, clearState=null, clearKeychain=null, stopApp=null, permissions=null, launchArguments=null, label=null), applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Launching app com.stripe.react.native [INFO ] m.cli.runner.MaestroCommandRunner - Launch app "${APP_ID}" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Accept a payment" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Accept a payment" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=Accept a payment, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), retryIfNoChange=true, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null), tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Accept a payment, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,257][1080,314], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=0, y=257, width=1080, height=57)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (540, 285) using hierarchy based logic for wait [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to byte array [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to output sink [INFO ] maestro.Maestro - Something have changed in the UI judging by view hierarchy. Proceed. [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Accept a payment" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Prebuilt UI (multi-step)" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Prebuilt UI (multi-step)" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=Prebuilt UI (multi-step), idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), retryIfNoChange=true, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null), tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Prebuilt UI (multi-step), accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,793][1038,850], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=84, y=793, width=954, height=57)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (561, 821) using hierarchy based logic for wait [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to byte array [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to output sink [INFO ] maestro.Maestro - Something have changed in the UI judging by view hierarchy. Proceed. [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Prebuilt UI (multi-step)" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "Choose payment method" is visible RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "Choose payment method" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=null, tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Choose payment method, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), notVisible=null, scriptCondition=null, label=null), timeout=150000, label=null), assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "Choose payment method" is visible COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Trigger timeout" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Trigger timeout" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=Trigger timeout, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), retryIfNoChange=true, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null), tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Trigger timeout, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[394,572][686,629], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=394, y=572, width=292, height=57)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (540, 600) using hierarchy based logic for wait [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to byte array [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to output sink [INFO ] maestro.Maestro - Something have changed in the UI judging by view hierarchy. Proceed. [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Trigger timeout" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Assert that ".*Timeout.*" is visible RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Assert that ".*Timeout.*" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=null, tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=.*Timeout.*, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null), assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] m.cli.runner.MaestroCommandRunner - Assert that ".*Timeout.*" is visible COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "OK" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "OK" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=OK, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=false, traits=null, index=null, enabled=null, selected=null, checked=null, focused=null, childOf=null), retryIfNoChange=true, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null), tapOnPoint=null, tapOnPointV2Command=null, scrollCommand=null, swipeCommand=null, backPressCommand=null, assertCommand=null, assertConditionCommand=null, assertNoDefectsWithAICommand=null, assertWithAICommand=null, inputTextCommand=null, inputRandomTextCommand=null, launchAppCommand=null, applyConfigurationCommand=null, openLinkCommand=null, pressKeyCommand=null, eraseTextCommand=null, hideKeyboardCommand=null, takeScreenshotCommand=null, stopAppCommand=null, killAppCommand=null, clearStateCommand=null, clearKeychainCommand=null, runFlowCommand=null, setLocationCommand=null, repeatCommand=null, copyTextCommand=null, pasteTextCommand=null, defineVariablesCommand=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=null, travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Tapping on element: UiElement(treeNode=TreeNode(attributes={text=OK, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=android:id/button1, clickable=true, bounds=[810,1029][978,1155], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.Button}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=810, y=1029, width=168, height=126)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (894, 1092) using hierarchy based logic for wait [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to byte array [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to output sink [INFO ] maestro.Maestro - Something have changed in the UI judging by view hierarchy. Proceed. [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "OK" COMPLETED 17:23:17.703 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 17:23:17.704 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 17:23:17.704 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 17:23:17.704 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 17:23:17.704 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 17:23:17.704 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 17:23:17.704 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 17:23:17.883 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 17:23:17.889 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 17:23:17.894 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 17:23:17.894 [ INFO] MAESTRO.logSystemInfo: --------------------- 17:23:18.394 [ INFO] maestro.cli.command.TestCommand.runShardSuite: [shard 1] Selected device emulator-5554 using port 7001 with execution plan ExecutionPlan(flowsToRun=[/Users/tianzhao/stripe/stripe-react-native/./e2e-tests/paymentsheet-customFlow-timeout.yml], sequence=FlowSequence(flows=[], continueOnFailure=true), workspaceConfig=WorkspaceConfig(flows=null, includeTags=null, excludeTags=null, local=null, executionOrder=null, baselineBranch=null, notifications=null, disableRetries=false, platform=PlatformConfiguration(android=AndroidConfiguration(disableAnimations=false), ios=IOSConfiguration(disableAnimations=false, snapshotKeyHonorModalViews=null)))) 17:23:20.007 [ INFO] maestro.Maestro.invoke: Getting device info 17:23:20.176 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 17:23:20.224 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 17:23:20.226 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(defineVariablesCommand=DefineVariablesCommand(env={APP_ID=com.stripe.react.native, NEW_ARCH=, MAESTRO_FILENAME=paymentsheet-customFlow-timeout}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:23:20.229 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 17:23:20.230 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 17:23:20.233 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(applyConfigurationCommand=ApplyConfigurationCommand(config=MaestroConfig(appId=com.stripe.react.native, name=null, tags=[], ext={}, onFlowStart=null, onFlowComplete=null), label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:23:20.234 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 17:23:20.235 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 17:23:20.237 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(launchAppCommand=LaunchAppCommand(appId=com.stripe.react.native, clearState=null, clearKeychain=null, stopApp=null, permissions=null, launchArguments=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:23:20.953 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 17:23:21.101 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 17:23:21.102 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" RUNNING 17:23:21.103 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Accept a payment, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:23:23.182 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Accept a payment, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,257][1080,314], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=0, y=257, width=1080, height=57)) 17:23:23.971 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:23:23.973 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 285) using hierarchy based logic for wait 17:23:23.973 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:23:23.973 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:23:24.984 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:23:24.984 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" COMPLETED 17:23:24.985 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" RUNNING 17:23:24.986 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Prebuilt UI (multi-step), idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:23:25.033 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Prebuilt UI (multi-step), accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,793][1038,850], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=84, y=793, width=954, height=57)) 17:23:25.827 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:23:25.827 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 821) using hierarchy based logic for wait 17:23:25.828 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:23:25.828 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:23:27.028 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:23:27.028 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" COMPLETED 17:23:27.029 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible RUNNING 17:23:27.030 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Choose payment method, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=150000, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:23:27.919 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible COMPLETED 17:23:27.921 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" RUNNING 17:23:27.922 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Trigger timeout, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:23:28.030 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Trigger timeout, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[394,572][686,629], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=394, y=572, width=292, height=57)) 17:23:28.798 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:23:28.799 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 600) using hierarchy based logic for wait 17:23:28.799 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:23:28.799 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:23:30.808 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:23:30.808 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" COMPLETED 17:23:30.809 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible RUNNING 17:23:30.810 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=.*Timeout.*, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:23:34.714 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible COMPLETED 17:23:34.716 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 17:23:34.717 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=OK, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:23:34.741 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=OK, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=android:id/button1, clickable=true, bounds=[810,1029][978,1155], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.Button}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=810, y=1029, width=168, height=126)) 17:23:35.510 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:23:35.511 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 17:23:35.511 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:23:35.511 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:23:36.358 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:23:36.359 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 17:23:36.716 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 17:23:41.722 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 17:23:41.723 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 17:23:41.723 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 17:23:41.723 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 17:23:41.723 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 17:23:41.723 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 17:23:41.955 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 17:23:41.955 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 17:23:41.955 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 17:23:41.955 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 17:23:41.956 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel 20:37:02.482 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 20:37:02.483 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 20:37:02.484 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 20:37:02.484 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 20:37:02.484 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 20:37:02.484 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 20:37:02.484 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 20:37:02.690 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 20:37:02.696 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 20:37:02.700 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 20:37:02.700 [ INFO] MAESTRO.logSystemInfo: --------------------- 20:37:03.307 [ INFO] maestro.cli.command.TestCommand.runShardSuite: [shard 1] Selected device emulator-5554 using port 7001 with execution plan ExecutionPlan(flowsToRun=[/Users/tianzhao/stripe/stripe-react-native/./e2e-tests/paymentsheet-customFlow-timeout.yml], sequence=FlowSequence(flows=[], continueOnFailure=true), workspaceConfig=WorkspaceConfig(flows=null, includeTags=null, excludeTags=null, local=null, executionOrder=null, baselineBranch=null, notifications=null, disableRetries=false, platform=PlatformConfiguration(android=AndroidConfiguration(disableAnimations=false), ios=IOSConfiguration(disableAnimations=false, snapshotKeyHonorModalViews=null)))) 20:37:08.676 [ INFO] maestro.Maestro.invoke: Getting device info 20:37:08.951 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 20:37:09.008 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 20:37:09.010 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(defineVariablesCommand=DefineVariablesCommand(env={APP_ID=com.stripe.react.native, NEW_ARCH=, MAESTRO_FILENAME=paymentsheet-customFlow-timeout}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:37:09.012 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 20:37:09.013 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 20:37:09.016 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(applyConfigurationCommand=ApplyConfigurationCommand(config=MaestroConfig(appId=com.stripe.react.native, name=null, tags=[], ext={}, onFlowStart=null, onFlowComplete=null), label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:37:09.017 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 20:37:09.017 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 20:37:09.018 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(launchAppCommand=LaunchAppCommand(appId=com.stripe.react.native, clearState=null, clearKeychain=null, stopApp=null, permissions=null, launchArguments=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:37:11.478 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 20:37:11.993 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 20:37:11.995 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" RUNNING 20:37:11.997 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Accept a payment, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:37:20.010 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Accept a payment, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,257][1080,314], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=0, y=257, width=1080, height=57)) 20:37:20.973 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 20:37:20.975 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 285) using hierarchy based logic for wait 20:37:20.976 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 20:37:20.976 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:37:22.577 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 20:37:22.578 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" COMPLETED 20:37:22.579 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" RUNNING 20:37:22.580 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Prebuilt UI (multi-step), idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:37:22.807 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Prebuilt UI (multi-step), accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,793][1038,850], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=84, y=793, width=954, height=57)) 20:37:23.776 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 20:37:23.777 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 821) using hierarchy based logic for wait 20:37:23.777 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 20:37:23.777 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:37:26.338 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 20:37:26.339 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" COMPLETED 20:37:26.341 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible RUNNING 20:37:26.343 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Choose payment method, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=150000, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:37:27.803 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible COMPLETED 20:37:27.805 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" RUNNING 20:37:27.807 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Trigger timeout, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:37:28.347 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Trigger timeout, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[394,572][686,629], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=394, y=572, width=292, height=57)) 20:37:29.206 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 20:37:29.206 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 600) using hierarchy based logic for wait 20:37:29.206 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 20:37:29.207 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:37:33.077 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 20:37:33.078 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" COMPLETED 20:37:33.079 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible RUNNING 20:37:33.081 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=.*Timeout.*, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:37:35.934 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible COMPLETED 20:37:35.936 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 20:37:35.938 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=OK, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:37:36.078 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=OK, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=android:id/button1, clickable=true, bounds=[810,1029][978,1155], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.Button}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=810, y=1029, width=168, height=126)) 20:37:37.010 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 20:37:37.012 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 20:37:37.015 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 20:37:37.015 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:37:38.180 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 20:37:38.180 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 20:37:38.535 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 20:37:43.547 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 20:37:43.547 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 20:37:43.547 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 20:37:43.547 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 20:37:43.547 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 20:37:43.547 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 20:37:44.009 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 20:37:44.010 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 20:37:44.010 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 20:37:44.010 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 20:37:44.014 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel 22:15:56.789 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 22:15:56.790 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 22:15:56.790 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 22:15:56.790 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 22:15:56.790 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 22:15:56.790 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 22:15:56.790 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 22:15:56.907 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 22:15:56.912 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 22:15:56.917 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 22:15:56.917 [ INFO] MAESTRO.logSystemInfo: --------------------- 22:15:57.437 [ INFO] maestro.cli.command.TestCommand.runShardSuite: [shard 1] Selected device emulator-5554 using port 7001 with execution plan ExecutionPlan(flowsToRun=[/Users/tianzhao/stripe/stripe-react-native/./e2e-tests/paymentsheet-customFlow-timeout.yml], sequence=FlowSequence(flows=[], continueOnFailure=true), workspaceConfig=WorkspaceConfig(flows=null, includeTags=null, excludeTags=null, local=null, executionOrder=null, baselineBranch=null, notifications=null, disableRetries=false, platform=PlatformConfiguration(android=AndroidConfiguration(disableAnimations=false), ios=IOSConfiguration(disableAnimations=false, snapshotKeyHonorModalViews=null)))) 22:15:58.979 [ INFO] maestro.Maestro.invoke: Getting device info 22:15:59.128 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 22:15:59.177 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 22:15:59.178 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(defineVariablesCommand=DefineVariablesCommand(env={APP_ID=com.stripe.react.native, NEW_ARCH=, MAESTRO_FILENAME=paymentsheet-customFlow-timeout}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:15:59.182 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 22:15:59.182 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 22:15:59.184 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(applyConfigurationCommand=ApplyConfigurationCommand(config=MaestroConfig(appId=com.stripe.react.native, name=null, tags=[], ext={}, onFlowStart=null, onFlowComplete=null), label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:15:59.184 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 22:15:59.185 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 22:15:59.186 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(launchAppCommand=LaunchAppCommand(appId=com.stripe.react.native, clearState=null, clearKeychain=null, stopApp=null, permissions=null, launchArguments=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:16:00.023 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 22:16:00.102 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 22:16:00.103 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" RUNNING 22:16:00.103 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Accept a payment, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:16:01.432 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Accept a payment, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,257][1080,314], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=0, y=257, width=1080, height=57)) 22:16:02.562 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:16:02.564 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 285) using hierarchy based logic for wait 22:16:02.564 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:16:02.564 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:16:03.863 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:16:03.864 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" COMPLETED 22:16:03.865 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" RUNNING 22:16:03.866 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Prebuilt UI (multi-step), idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:16:03.953 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Prebuilt UI (multi-step), accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,793][1038,850], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=84, y=793, width=954, height=57)) 22:16:04.738 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:16:04.738 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 821) using hierarchy based logic for wait 22:16:04.738 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:16:04.738 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:16:06.026 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:16:06.026 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" COMPLETED 22:16:06.027 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible RUNNING 22:16:06.029 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Choose payment method, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=150000, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:16:07.050 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible COMPLETED 22:16:07.051 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" RUNNING 22:16:07.051 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Trigger timeout, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:16:07.590 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Trigger timeout, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[394,572][686,629], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=394, y=572, width=292, height=57)) 22:16:08.353 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:16:08.353 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 600) using hierarchy based logic for wait 22:16:08.353 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:16:08.353 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:16:10.723 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:16:10.723 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" COMPLETED 22:16:10.725 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible RUNNING 22:16:10.726 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=.*Timeout.*, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:16:14.255 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible COMPLETED 22:16:14.258 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 22:16:14.259 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=OK, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:16:14.289 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=OK, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=android:id/button1, clickable=true, bounds=[810,1029][978,1155], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.Button}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=810, y=1029, width=168, height=126)) 22:16:15.083 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:16:15.084 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 22:16:15.084 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:16:15.084 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:16:15.949 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:16:15.950 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 22:16:16.249 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 22:16:21.255 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 22:16:21.256 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 22:16:21.256 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 22:16:21.256 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 22:16:21.257 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 22:16:21.257 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 22:16:21.480 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 22:16:21.480 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 22:16:21.480 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 22:16:21.480 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 22:16:21.483 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel 22:56:54.977 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 22:56:54.978 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 22:56:54.979 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 22:56:54.979 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 22:56:54.979 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 22:56:54.979 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 22:56:54.979 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 22:56:55.139 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 22:56:55.145 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 22:56:55.148 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 22:56:55.148 [ INFO] MAESTRO.logSystemInfo: --------------------- 22:56:55.623 [ INFO] maestro.cli.command.TestCommand.runShardSuite: [shard 1] Selected device emulator-5554 using port 7001 with execution plan ExecutionPlan(flowsToRun=[/Users/tianzhao/stripe/stripe-react-native/./e2e-tests/paymentsheet-customFlow-timeout.yml], sequence=FlowSequence(flows=[], continueOnFailure=true), workspaceConfig=WorkspaceConfig(flows=null, includeTags=null, excludeTags=null, local=null, executionOrder=null, baselineBranch=null, notifications=null, disableRetries=false, platform=PlatformConfiguration(android=AndroidConfiguration(disableAnimations=false), ios=IOSConfiguration(disableAnimations=false, snapshotKeyHonorModalViews=null)))) 22:56:59.378 [ INFO] maestro.Maestro.invoke: Getting device info 22:56:59.589 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 22:56:59.648 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 22:56:59.650 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(defineVariablesCommand=DefineVariablesCommand(env={APP_ID=com.stripe.react.native, NEW_ARCH=, MAESTRO_FILENAME=paymentsheet-customFlow-timeout}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:56:59.652 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 22:56:59.653 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 22:56:59.657 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(applyConfigurationCommand=ApplyConfigurationCommand(config=MaestroConfig(appId=com.stripe.react.native, name=null, tags=[], ext={}, onFlowStart=null, onFlowComplete=null), label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:56:59.657 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 22:56:59.658 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 22:56:59.659 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(launchAppCommand=LaunchAppCommand(appId=com.stripe.react.native, clearState=null, clearKeychain=null, stopApp=null, permissions=null, launchArguments=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:57:01.523 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 22:57:01.897 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 22:57:01.900 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" RUNNING 22:57:01.902 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Accept a payment, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:57:06.975 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Accept a payment, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,257][1080,314], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=0, y=257, width=1080, height=57)) 22:57:08.138 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:57:08.141 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 285) using hierarchy based logic for wait 22:57:08.142 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:57:08.142 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:57:09.965 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:57:09.966 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" COMPLETED 22:57:09.967 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" RUNNING 22:57:09.968 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Prebuilt UI (multi-step), idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:57:10.065 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Prebuilt UI (multi-step), accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,793][1038,850], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=84, y=793, width=954, height=57)) 22:57:10.999 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:57:11.000 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 821) using hierarchy based logic for wait 22:57:11.000 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:57:11.000 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:57:13.180 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:57:13.181 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" COMPLETED 22:57:13.182 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible RUNNING 22:57:13.184 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Choose payment method, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=150000, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:57:14.038 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible COMPLETED 22:57:14.039 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" RUNNING 22:57:14.040 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Trigger timeout, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:57:14.673 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Trigger timeout, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[394,572][686,629], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=394, y=572, width=292, height=57)) 22:57:15.573 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:57:15.574 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 600) using hierarchy based logic for wait 22:57:15.574 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:57:15.574 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:57:18.374 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:57:18.375 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" COMPLETED 22:57:18.376 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible RUNNING 22:57:18.377 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=.*Timeout.*, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:57:22.048 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible COMPLETED 22:57:22.049 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 22:57:22.050 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=OK, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:57:22.136 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=OK, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=android:id/button1, clickable=true, bounds=[810,1029][978,1155], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.Button}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=810, y=1029, width=168, height=126)) 22:57:23.039 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:57:23.040 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 22:57:23.040 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:57:23.040 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:57:24.044 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:57:24.045 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 22:57:24.398 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 22:57:29.405 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 22:57:29.407 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 22:57:29.407 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 22:57:29.407 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 22:57:29.407 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 22:57:29.407 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 22:57:29.842 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 22:57:29.843 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 22:57:29.843 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 22:57:29.843 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 22:57:29.847 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel 11:37:07.980 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 11:37:07.981 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 11:37:07.982 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 11:37:07.982 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 11:37:07.982 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 11:37:07.982 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 11:37:07.982 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 11:37:08.223 [DEBUG] io.micrometer.common.util.internal.logging.InternalLoggerFactory.newDefaultFactory: Using SLF4J as the default logging framework 11:37:08.225 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 11:37:08.232 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 11:37:08.236 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 11:37:08.237 [ INFO] MAESTRO.logSystemInfo: --------------------- 11:37:08.871 [ INFO] maestro.cli.command.TestCommand.runShardSuite: [shard 1] Selected device emulator-5554 using port 7001 with execution plan ExecutionPlan(flowsToRun=[/Users/tianzhao/stripe/stripe-react-native/./e2e-tests/paymentsheet-customFlow-timeout.yml], sequence=FlowSequence(flows=[], continueOnFailure=true), workspaceConfig=WorkspaceConfig(flows=null, includeTags=null, excludeTags=null, local=null, executionOrder=null, baselineBranch=null, notifications=null, disableRetries=false, platform=PlatformConfiguration(android=AndroidConfiguration(disableAnimations=false), ios=IOSConfiguration(disableAnimations=false, snapshotKeyHonorModalViews=null)))) 11:37:13.188 [ INFO] maestro.Maestro.invoke: Getting device info 11:37:13.358 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 11:37:13.405 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 11:37:13.407 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(defineVariablesCommand=DefineVariablesCommand(env={APP_ID=com.stripe.react.native, NEW_ARCH=, MAESTRO_FILENAME=paymentsheet-customFlow-timeout}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:37:13.409 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 11:37:13.410 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 11:37:13.413 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(applyConfigurationCommand=ApplyConfigurationCommand(config=MaestroConfig(appId=com.stripe.react.native, name=null, tags=[], ext={}, onFlowStart=null, onFlowComplete=null), label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:37:13.414 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 11:37:13.414 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 11:37:13.416 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(launchAppCommand=LaunchAppCommand(appId=com.stripe.react.native, clearState=null, clearKeychain=null, stopApp=null, permissions=null, launchArguments=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:37:15.163 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 11:37:15.456 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 11:37:15.457 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" RUNNING 11:37:15.457 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Accept a payment, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:37:21.010 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Accept a payment, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,257][1080,314], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=0, y=257, width=1080, height=57)) 11:37:22.083 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 11:37:22.084 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 285) using hierarchy based logic for wait 11:37:22.084 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 11:37:22.084 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:37:23.755 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 11:37:23.755 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" COMPLETED 11:37:23.756 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" RUNNING 11:37:23.758 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Prebuilt UI (multi-step), idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:37:23.949 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Prebuilt UI (multi-step), accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,793][1038,850], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=84, y=793, width=954, height=57)) 11:37:24.984 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 11:37:24.984 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 821) using hierarchy based logic for wait 11:37:24.984 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 11:37:24.984 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:37:26.904 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 11:37:26.904 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" COMPLETED 11:37:26.906 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible RUNNING 11:37:26.907 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Choose payment method, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=150000, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:37:27.706 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible COMPLETED 11:37:27.708 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" RUNNING 11:37:27.709 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Trigger timeout, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:37:27.772 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Trigger timeout, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[394,572][686,629], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=394, y=572, width=292, height=57)) 11:37:28.639 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 11:37:28.639 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 600) using hierarchy based logic for wait 11:37:28.639 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 11:37:28.639 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:37:31.671 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 11:37:31.671 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" COMPLETED 11:37:31.672 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible RUNNING 11:37:31.673 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=.*Timeout.*, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:37:35.009 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible COMPLETED 11:37:35.011 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 11:37:35.012 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=OK, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:37:35.073 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=OK, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=android:id/button1, clickable=true, bounds=[810,1029][978,1155], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.Button}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=810, y=1029, width=168, height=126)) 11:37:35.976 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 11:37:35.976 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 11:37:35.976 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 11:37:35.976 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:37:37.062 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 11:37:37.062 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 11:37:37.351 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 11:37:42.358 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 11:37:42.358 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 11:37:42.358 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 11:37:42.359 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 11:37:42.359 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 11:37:42.359 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 11:37:42.832 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 11:37:42.832 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 11:37:42.833 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 11:37:42.833 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 11:37:42.836 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel 17:02:24.002 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 17:02:24.003 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 17:02:24.004 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 17:02:24.004 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 17:02:24.004 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 17:02:24.004 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 17:02:24.004 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 17:02:24.102 [DEBUG] io.micrometer.common.util.internal.logging.InternalLoggerFactory.newDefaultFactory: Using SLF4J as the default logging framework 17:02:24.203 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 17:02:24.207 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 17:02:24.233 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 17:02:24.233 [ INFO] MAESTRO.logSystemInfo: --------------------- 17:02:24.762 [ INFO] maestro.cli.command.TestCommand.runShardSuite: [shard 1] Selected device emulator-5554 using port 7001 with execution plan ExecutionPlan(flowsToRun=[/Users/tianzhao/stripe/stripe-react-native/./e2e-tests/paymentsheet-customFlow-timeout.yml], sequence=FlowSequence(flows=[], continueOnFailure=true), workspaceConfig=WorkspaceConfig(flows=null, includeTags=null, excludeTags=null, local=null, executionOrder=null, baselineBranch=null, notifications=null, disableRetries=false, platform=PlatformConfiguration(android=AndroidConfiguration(disableAnimations=false), ios=IOSConfiguration(disableAnimations=false, snapshotKeyHonorModalViews=null)))) 17:02:26.230 [ INFO] maestro.Maestro.invoke: Getting device info 17:02:26.379 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 17:02:26.426 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 17:02:26.427 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(defineVariablesCommand=DefineVariablesCommand(env={APP_ID=com.stripe.react.native, NEW_ARCH=, MAESTRO_FILENAME=paymentsheet-customFlow-timeout}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:02:26.430 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 17:02:26.430 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 17:02:26.433 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(applyConfigurationCommand=ApplyConfigurationCommand(config=MaestroConfig(appId=com.stripe.react.native, name=null, tags=[], ext={}, onFlowStart=null, onFlowComplete=null), label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:02:26.434 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 17:02:26.435 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 17:02:26.436 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(launchAppCommand=LaunchAppCommand(appId=com.stripe.react.native, clearState=null, clearKeychain=null, stopApp=null, permissions=null, launchArguments=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:02:27.154 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 17:02:27.276 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 17:02:27.277 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" RUNNING 17:02:27.277 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Accept a payment, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:02:29.180 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Accept a payment, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,257][1080,314], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=0, y=257, width=1080, height=57)) 17:02:30.013 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:02:30.015 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 285) using hierarchy based logic for wait 17:02:30.016 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:02:30.016 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:02:31.179 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:02:31.179 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Accept a payment" COMPLETED 17:02:31.180 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" RUNNING 17:02:31.181 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Prebuilt UI (multi-step), idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:02:31.274 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Prebuilt UI (multi-step), accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,793][1038,850], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=84, y=793, width=954, height=57)) 17:02:32.098 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:02:32.099 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 821) using hierarchy based logic for wait 17:02:32.099 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:02:32.099 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:02:33.230 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:02:33.231 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Prebuilt UI (multi-step)" COMPLETED 17:02:33.232 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible RUNNING 17:02:33.233 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Choose payment method, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=150000, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:02:33.998 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Choose payment method" is visible COMPLETED 17:02:34.000 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" RUNNING 17:02:34.002 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Trigger timeout, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:02:34.067 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Trigger timeout, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[394,572][686,629], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.TextView}, children=[], clickable=false, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=394, y=572, width=292, height=57)) 17:02:34.845 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:02:34.846 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 600) using hierarchy based logic for wait 17:02:34.846 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:02:34.846 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:02:36.931 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:02:36.932 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Trigger timeout" COMPLETED 17:02:36.934 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible RUNNING 17:02:36.936 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=.*Timeout.*, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:02:40.803 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that ".*Timeout.*" is visible COMPLETED 17:02:40.804 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 17:02:40.806 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=OK, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=false, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:02:40.874 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=OK, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=android:id/button1, clickable=true, bounds=[810,1029][978,1155], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.Button}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=810, y=1029, width=168, height=126)) 17:02:41.702 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:02:41.703 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 17:02:41.703 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:02:41.703 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:02:42.547 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:02:42.548 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 17:02:42.845 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 17:02:47.852 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 17:02:47.852 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 17:02:47.852 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 17:02:47.852 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 17:02:47.853 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 17:02:47.853 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 17:02:48.030 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 17:02:48.030 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 17:02:48.030 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 17:02:48.030 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 17:02:48.033 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel