[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 "Wallets" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Wallets" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=Wallets, 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=Wallets, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,1172][1080,1229], 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=1172, width=1080, height=57)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (540, 1200) 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 "Wallets" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Scrolling DOWN until "PayPal" is visible. RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Scrolling DOWN until "PayPal" is visible. 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=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, centerElement=false, label=null), travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Swiping UP from center [INFO ] m.cli.runner.MaestroCommandRunner - Scrolling DOWN until "PayPal" is visible. COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "PayPal" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "PayPal" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=PayPal, 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=PayPal, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,1021][1038,1078], 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=1021, width=954, height=57)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (561, 1049) 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 "PayPal" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "E-mail" is visible RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "E-mail" 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=E-mail, 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 "E-mail" is visible COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "E-mail" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "E-mail" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=E-mail, 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=E-mail, accessibilityText=E-mail, hintText=E-mail, ignoreBoundsFiltering=false, resource-id=, clickable=true, bounds=[42,263][1038,379], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.EditText}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=42, y=263, width=996, height=116)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (540, 321) 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 "E-mail" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Input text test@stripe.com RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Input text test@stripe.com 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=InputTextCommand(text=test@stripe.com, label=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 - Inputting text: test@stripe.com [INFO ] m.cli.runner.MaestroCommandRunner - Input text test@stripe.com COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Pay" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Pay" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=Pay, 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=false, 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=Pay, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[504,473][575,530], 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=504, y=473, width=71, height=57)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (539, 501) 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.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 screenshot (d=1.2524884). Proceed. [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Pay" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on (Optional) "Continue" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, optional=true, 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 ] m.cli.runner.MaestroCommandRunner - Tap on (Optional) "Continue" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "AUTHORIZE TEST PAYMENT" is visible RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "AUTHORIZE TEST PAYMENT" 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=AUTHORIZE TEST 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), 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 ] maestro.Maestro - Taking screenshot [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to output sink [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "AUTHORIZE TEST PAYMENT" is visible FAILED [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 "Wallets" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "Wallets" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=Wallets, 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=Wallets, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,1172][1080,1229], 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=1172, width=1080, height=57)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (540, 1200) 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 "Wallets" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Scrolling DOWN until "PayPal" is visible. RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Scrolling DOWN until "PayPal" is visible. 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=null, runScriptCommand=null, waitForAnimationToEndCommand=null, evalScriptCommand=null, scrollUntilVisible=ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, centerElement=false, label=null), travelCommand=null, startRecordingCommand=null, stopRecordingCommand=null, addMediaCommand=null, setAirplaneModeCommand=null, toggleAirplaneModeCommand=null), logMessages=[], insight=Insight(message=, level=NONE)) [INFO ] maestro.Maestro - Swiping UP from center [INFO ] m.cli.runner.MaestroCommandRunner - Scrolling DOWN until "PayPal" is visible. COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "PayPal" RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Tap on "PayPal" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElement=TapOnElementCommand(selector=ElementSelector(textRegex=PayPal, 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=PayPal, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,1001][1038,1058], 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=1001, width=954, height=57)) [INFO ] maestro.Maestro - Refreshed element [INFO ] maestro.Maestro - Tapping at (561, 1029) 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 "PayPal" COMPLETED [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "E-mail" is visible RUNNING [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "E-mail" 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=E-mail, 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 ] maestro.Maestro - Taking screenshot [INFO ] maestro.utils.ScreenshotUtils - Taking screenshot to output sink [INFO ] m.cli.runner.MaestroCommandRunner - Assert that "E-mail" is visible FAILED 17:26:24.499 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 17:26:24.500 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 17:26:24.500 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 17:26:24.500 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 17:26:24.500 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 17:26:24.500 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 17:26:24.500 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 17:26:24.620 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 17:26:24.626 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 17:26:24.631 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 17:26:24.631 [ INFO] MAESTRO.logSystemInfo: --------------------- 17:26:25.417 [ 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/paypal-payment.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:26:27.131 [ INFO] maestro.Maestro.invoke: Getting device info 17:26:27.282 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 17:26:27.348 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 17:26:27.351 [ 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=paypal-payment}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:26:27.355 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 17:26:27.357 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 17:26:27.360 [ 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:26:27.362 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 17:26:27.363 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 17:26:27.365 [ 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:26:28.182 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 17:26:28.278 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 17:26:28.279 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" RUNNING 17:26:28.280 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Wallets, 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:26:29.844 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Wallets, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,1172][1080,1229], 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=1172, width=1080, height=57)) 17:26:30.682 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:26:30.685 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 1200) using hierarchy based logic for wait 17:26:30.685 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:26:30.685 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:26:32.166 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:26:32.166 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" COMPLETED 17:26:32.169 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled RUNNING 17:26:32.170 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(scrollUntilVisibleCommand=ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:26:32.755 [ERROR] maestro.orchestra.Orchestra.scrollUntilVisible: Error: maestro.MaestroException$ElementNotFound: Element not found: Text matching regex: PayPal 17:26:32.758 [ INFO] maestro.Maestro.swipeFromCenter: Swiping UP from center 17:26:34.460 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Scrolling try count: 0, DeviceWidth: 1080, DeviceWidth: 1920 17:26:34.461 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Element bounds: Bounds(x=84, y=1025, width=954, height=57) 17:26:34.461 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Visibility Percent: 0 17:26:34.461 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Command centerElement: ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false).centerElement 17:26:34.461 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: visibilityPercentageNormalized: 1.0 17:26:34.461 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled COMPLETED 17:26:34.463 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" RUNNING 17:26:34.464 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=PayPal, 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:26:34.545 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=PayPal, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,1025][1038,1082], 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=1025, width=954, height=57)) 17:26:35.374 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:26:35.374 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 1053) using hierarchy based logic for wait 17:26:35.374 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:26:35.374 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:26:36.694 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:26:36.694 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" COMPLETED 17:26:36.697 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible RUNNING 17:26:36.699 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=E-mail, 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:26:36.768 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible COMPLETED 17:26:36.770 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" RUNNING 17:26:36.772 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=E-mail, 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:26:36.849 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=E-mail, accessibilityText=E-mail, hintText=E-mail, ignoreBoundsFiltering=false, resource-id=, clickable=true, bounds=[42,263][1038,379], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.EditText}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=42, y=263, width=996, height=116)) 17:26:37.637 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:26:37.637 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 321) using hierarchy based logic for wait 17:26:37.637 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:26:37.638 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:26:39.380 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:26:39.380 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" COMPLETED 17:26:39.382 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com RUNNING 17:26:39.383 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(inputTextCommand=InputTextCommand(text=test@stripe.com, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:26:39.385 [ INFO] maestro.Maestro.inputText: Inputting text: test@stripe.com 17:26:41.498 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com COMPLETED 17:26:41.500 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" RUNNING 17:26:41.500 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Pay, 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:26:41.596 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Pay, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[504,473][575,530], 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=504, y=473, width=71, height=57)) 17:26:42.399 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:26:42.399 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (539, 501) using hierarchy based logic for wait 17:26:42.399 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:26:42.399 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:26:42.792 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:26:42.792 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:26:43.332 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by screenshot (d=1.2524884). Proceed. 17:26:43.332 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" COMPLETED 17:26:43.333 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" RUNNING 17:26:43.334 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:26:50.440 [ INFO] maestro.orchestra.Orchestra.executeCommands: [Command execution] CommandWarned: Element not found: Text matching regex: Continue 17:26:50.440 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=Element not found: Text matching regex: Continue, level=WARNING), aiReasoning=null, labeledCommand=null) 17:26:50.443 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" WARNED 17:26:50.445 [ INFO] maestro.Maestro.takeScreenshot: Taking screenshot 17:26:50.445 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:26:50.513 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible RUNNING 17:26:50.514 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=AUTHORIZE TEST 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), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:26:50.618 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible COMPLETED 17:26:50.620 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" RUNNING 17:26:50.621 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=AUTHORIZE TEST 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:26:50.648 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=AUTHORIZE TEST PAYMENT, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[86,1309][616,1357], 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=86, y=1309, width=530, height=48)) 17:26:51.452 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:26:51.452 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (351, 1333) using hierarchy based logic for wait 17:26:51.452 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:26:51.452 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:26:52.196 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:26:52.197 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" COMPLETED 17:26:52.198 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible RUNNING 17:26:52.199 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Success, 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:26:53.108 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible COMPLETED 17:26:53.109 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 17:26:53.111 [ 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:26:53.625 [ 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:26:54.417 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:26:54.418 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 17:26:54.418 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:26:54.418 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:26:55.264 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:26:55.264 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 17:26:55.526 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 17:27:00.532 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 17:27:00.533 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 17:27:00.534 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 17:27:00.534 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 17:27:00.534 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 17:27:00.534 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 17:27:00.702 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 17:27:00.702 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 17:27:00.702 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 17:27:00.702 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 17:27:00.704 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel 20:41:56.244 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 20:41:56.246 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 20:41:56.246 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 20:41:56.246 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 20:41:56.246 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 20:41:56.246 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 20:41:56.246 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 20:41:56.442 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 20:41:56.447 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 20:41:56.451 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 20:41:56.452 [ INFO] MAESTRO.logSystemInfo: --------------------- 20:41:56.965 [ 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/paypal-payment.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:41:57.317 [DEBUG] io.micrometer.common.util.internal.logging.InternalLoggerFactory.newDefaultFactory: Using SLF4J as the default logging framework 20:42:02.672 [ INFO] maestro.Maestro.invoke: Getting device info 20:42:02.873 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 20:42:02.939 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 20:42:02.942 [ 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=paypal-payment}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:42:02.945 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 20:42:02.948 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 20:42:02.952 [ 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:42:02.954 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 20:42:02.956 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 20:42:02.958 [ 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:42:05.294 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 20:42:05.698 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 20:42:05.703 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" RUNNING 20:42:05.706 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Wallets, 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:42:13.986 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Wallets, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,1172][1080,1229], 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=1172, width=1080, height=57)) 20:42:15.039 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 20:42:15.044 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 1200) using hierarchy based logic for wait 20:42:15.045 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 20:42:15.045 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:42:17.086 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 20:42:17.086 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" COMPLETED 20:42:17.088 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled RUNNING 20:42:17.091 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(scrollUntilVisibleCommand=ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:42:17.860 [ERROR] maestro.orchestra.Orchestra.scrollUntilVisible: Error: maestro.MaestroException$ElementNotFound: Element not found: Text matching regex: PayPal 20:42:17.872 [ INFO] maestro.Maestro.swipeFromCenter: Swiping UP from center 20:42:20.264 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Scrolling try count: 0, DeviceWidth: 1080, DeviceWidth: 1920 20:42:20.265 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Element bounds: Bounds(x=84, y=1024, width=954, height=57) 20:42:20.265 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Visibility Percent: 0 20:42:20.265 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Command centerElement: ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false).centerElement 20:42:20.266 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: visibilityPercentageNormalized: 1.0 20:42:20.266 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled COMPLETED 20:42:20.268 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" RUNNING 20:42:20.270 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=PayPal, 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:42:20.401 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=PayPal, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,1024][1038,1081], 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=1024, width=954, height=57)) 20:42:21.344 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 20:42:21.345 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 1052) using hierarchy based logic for wait 20:42:21.345 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 20:42:21.345 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:42:23.815 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 20:42:23.817 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" COMPLETED 20:42:23.820 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible RUNNING 20:42:23.824 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=E-mail, 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:42:23.885 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible COMPLETED 20:42:23.886 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" RUNNING 20:42:23.888 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=E-mail, 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:42:23.934 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=E-mail, accessibilityText=, hintText=E-mail, ignoreBoundsFiltering=false, resource-id=, clickable=true, bounds=[42,263][1038,379], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.EditText}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=42, y=263, width=996, height=116)) 20:42:24.972 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 20:42:24.972 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 321) using hierarchy based logic for wait 20:42:24.972 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 20:42:24.973 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:42:26.864 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 20:42:26.864 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" COMPLETED 20:42:26.866 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com RUNNING 20:42:26.868 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(inputTextCommand=InputTextCommand(text=test@stripe.com, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:42:26.869 [ INFO] maestro.Maestro.inputText: Inputting text: test@stripe.com 20:42:31.979 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com COMPLETED 20:42:31.982 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" RUNNING 20:42:31.983 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Pay, 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:42:32.080 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Pay, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[504,473][575,530], 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=504, y=473, width=71, height=57)) 20:42:33.065 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 20:42:33.066 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (539, 501) using hierarchy based logic for wait 20:42:33.066 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 20:42:33.066 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:42:33.812 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 20:42:33.813 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:42:34.466 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by screenshot (d=0.006847994). Proceed. 20:42:34.466 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" COMPLETED 20:42:34.467 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" RUNNING 20:42:34.467 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:42:41.601 [ INFO] maestro.orchestra.Orchestra.executeCommands: [Command execution] CommandWarned: Element not found: Text matching regex: Continue 20:42:41.602 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=Element not found: Text matching regex: Continue, level=WARNING), aiReasoning=null, labeledCommand=null) 20:42:41.606 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" WARNED 20:42:41.610 [ INFO] maestro.Maestro.takeScreenshot: Taking screenshot 20:42:41.611 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:42:41.860 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible RUNNING 20:42:41.862 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=AUTHORIZE TEST 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), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 20:42:42.032 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible COMPLETED 20:42:42.035 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" RUNNING 20:42:42.037 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=AUTHORIZE TEST 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:42:42.170 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=AUTHORIZE TEST PAYMENT, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[86,1309][616,1357], 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=86, y=1309, width=530, height=48)) 20:42:43.018 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 20:42:43.019 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (351, 1333) using hierarchy based logic for wait 20:42:43.019 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 20:42:43.019 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:42:44.086 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 20:42:44.087 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" COMPLETED 20:42:44.088 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible RUNNING 20:42:44.090 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Success, 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:42:46.105 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible COMPLETED 20:42:46.107 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 20:42:46.108 [ 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:42:46.555 [ 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:42:47.388 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 20:42:47.389 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 20:42:47.389 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 20:42:47.389 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 20:42:48.796 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 20:42:48.796 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 20:42:49.086 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 20:42:54.089 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 20:42:54.089 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 20:42:54.089 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 20:42:54.089 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 20:42:54.090 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 20:42:54.090 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 20:42:54.696 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 20:42:54.696 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 20:42:54.697 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 20:42:54.697 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 20:42:54.702 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel 22:19:19.609 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 22:19:19.609 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 22:19:19.610 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 22:19:19.610 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 22:19:19.610 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 22:19:19.610 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 22:19:19.610 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 22:19:19.631 [DEBUG] io.micrometer.common.util.internal.logging.InternalLoggerFactory.newDefaultFactory: Using SLF4J as the default logging framework 22:19:19.719 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 22:19:19.724 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 22:19:19.728 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 22:19:19.728 [ INFO] MAESTRO.logSystemInfo: --------------------- 22:19:20.180 [ 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/paypal-payment.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:19:21.745 [ INFO] maestro.Maestro.invoke: Getting device info 22:19:21.884 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 22:19:21.929 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 22:19:21.931 [ 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=paypal-payment}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:19:21.934 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 22:19:21.934 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 22:19:21.938 [ 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:19:21.939 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 22:19:21.940 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 22:19:21.942 [ 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:19:22.697 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 22:19:22.759 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 22:19:22.761 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" RUNNING 22:19:22.762 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Wallets, 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:19:24.597 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Wallets, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,1172][1080,1229], 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=1172, width=1080, height=57)) 22:19:25.453 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:19:25.455 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 1200) using hierarchy based logic for wait 22:19:25.455 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:19:25.455 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:19:26.515 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:19:26.515 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" COMPLETED 22:19:26.517 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled RUNNING 22:19:26.519 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(scrollUntilVisibleCommand=ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:19:27.142 [ERROR] maestro.orchestra.Orchestra.scrollUntilVisible: Error: maestro.MaestroException$ElementNotFound: Element not found: Text matching regex: PayPal 22:19:27.146 [ INFO] maestro.Maestro.swipeFromCenter: Swiping UP from center 22:19:29.021 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Scrolling try count: 0, DeviceWidth: 1080, DeviceWidth: 1920 22:19:29.021 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Element bounds: Bounds(x=84, y=1025, width=954, height=57) 22:19:29.022 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Visibility Percent: 0 22:19:29.022 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Command centerElement: ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false).centerElement 22:19:29.022 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: visibilityPercentageNormalized: 1.0 22:19:29.022 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled COMPLETED 22:19:29.025 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" RUNNING 22:19:29.027 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=PayPal, 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:19:29.063 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=PayPal, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,1025][1038,1082], 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=1025, width=954, height=57)) 22:19:29.887 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:19:29.887 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 1053) using hierarchy based logic for wait 22:19:29.887 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:19:29.888 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:19:31.178 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:19:31.179 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" COMPLETED 22:19:31.180 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible RUNNING 22:19:31.181 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=E-mail, 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:19:31.208 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible COMPLETED 22:19:31.209 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" RUNNING 22:19:31.209 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=E-mail, 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:19:31.267 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=E-mail, accessibilityText=, hintText=E-mail, ignoreBoundsFiltering=false, resource-id=, clickable=true, bounds=[42,263][1038,379], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.EditText}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=42, y=263, width=996, height=116)) 22:19:32.166 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:19:32.166 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 321) using hierarchy based logic for wait 22:19:32.166 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:19:32.167 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:19:33.895 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:19:33.895 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" COMPLETED 22:19:33.897 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com RUNNING 22:19:33.898 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(inputTextCommand=InputTextCommand(text=test@stripe.com, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:19:33.900 [ INFO] maestro.Maestro.inputText: Inputting text: test@stripe.com 22:19:35.984 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com COMPLETED 22:19:35.986 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" RUNNING 22:19:35.987 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Pay, 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:19:36.045 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Pay, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[504,473][575,530], 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=504, y=473, width=71, height=57)) 22:19:36.860 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:19:36.860 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (539, 501) using hierarchy based logic for wait 22:19:36.860 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:19:36.861 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:19:37.190 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:19:37.190 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:19:37.659 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by screenshot (d=3.0412126). Proceed. 22:19:37.659 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" COMPLETED 22:19:37.660 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" RUNNING 22:19:37.660 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:19:44.730 [ INFO] maestro.orchestra.Orchestra.executeCommands: [Command execution] CommandWarned: Element not found: Text matching regex: Continue 22:19:44.731 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=Element not found: Text matching regex: Continue, level=WARNING), aiReasoning=null, labeledCommand=null) 22:19:44.733 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" WARNED 22:19:44.735 [ INFO] maestro.Maestro.takeScreenshot: Taking screenshot 22:19:44.735 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:19:44.808 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible RUNNING 22:19:44.809 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=AUTHORIZE TEST 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), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 22:19:44.918 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible COMPLETED 22:19:44.920 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" RUNNING 22:19:44.920 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=AUTHORIZE TEST 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:19:44.995 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=AUTHORIZE TEST PAYMENT, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[86,1309][616,1357], 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=86, y=1309, width=530, height=48)) 22:19:45.766 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:19:45.767 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (351, 1333) using hierarchy based logic for wait 22:19:45.767 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:19:45.767 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:19:46.513 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:19:46.513 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" COMPLETED 22:19:46.515 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible RUNNING 22:19:46.516 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Success, 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:19:48.424 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible COMPLETED 22:19:48.425 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 22:19:48.426 [ 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:19:48.478 [ 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:19:49.283 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 22:19:49.283 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 22:19:49.284 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 22:19:49.284 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 22:19:50.930 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 22:19:50.930 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 22:19:51.166 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 22:19:51.166 [ERROR] maestro.cli.session.MaestroSessionManager.newSession$lambda$0: 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:93) 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) 22:19:56.173 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 22:19:56.173 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 22:19:56.173 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 22:19:56.173 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 22:19:56.173 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 22:19:56.173 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 22:19:56.337 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 22:19:56.338 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 22:19:56.338 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 22:19:56.338 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 22:19:56.341 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel 23:00:57.460 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 23:00:57.461 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 23:00:57.462 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 23:00:57.462 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 23:00:57.462 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 23:00:57.462 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 23:00:57.462 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 23:00:57.580 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 23:00:57.585 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 23:00:57.591 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 23:00:57.591 [ INFO] MAESTRO.logSystemInfo: --------------------- 23:00:58.068 [ 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/paypal-payment.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)))) 23:00:59.612 [ INFO] maestro.Maestro.invoke: Getting device info 23:00:59.752 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 23:00:59.802 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 23:00:59.804 [ 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=paypal-payment}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 23:00:59.807 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 23:00:59.809 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 23:00:59.813 [ 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) 23:00:59.814 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 23:00:59.815 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 23:00:59.817 [ 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) 23:01:00.598 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 23:01:00.662 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 23:01:00.663 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" RUNNING 23:01:00.664 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Wallets, 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) 23:01:02.493 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Wallets, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,1172][1080,1229], 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=1172, width=1080, height=57)) 23:01:03.334 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 23:01:03.335 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 1200) using hierarchy based logic for wait 23:01:03.335 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 23:01:03.335 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 23:01:04.299 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 23:01:04.300 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" COMPLETED 23:01:04.302 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled RUNNING 23:01:04.304 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(scrollUntilVisibleCommand=ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 23:01:04.905 [ERROR] maestro.orchestra.Orchestra.scrollUntilVisible: Error: maestro.MaestroException$ElementNotFound: Element not found: Text matching regex: PayPal 23:01:04.908 [ INFO] maestro.Maestro.swipeFromCenter: Swiping UP from center 23:01:06.653 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Scrolling try count: 0, DeviceWidth: 1080, DeviceWidth: 1920 23:01:06.653 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Element bounds: Bounds(x=84, y=1022, width=954, height=57) 23:01:06.653 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Visibility Percent: 0 23:01:06.653 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Command centerElement: ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false).centerElement 23:01:06.653 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: visibilityPercentageNormalized: 1.0 23:01:06.653 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled COMPLETED 23:01:06.654 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" RUNNING 23:01:06.654 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=PayPal, 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) 23:01:06.683 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=PayPal, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,1022][1038,1079], 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=1022, width=954, height=57)) 23:01:07.549 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 23:01:07.549 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 1050) using hierarchy based logic for wait 23:01:07.549 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 23:01:07.549 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 23:01:08.134 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 23:01:08.135 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 23:01:08.678 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by screenshot (d=10.95902). Proceed. 23:01:08.678 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" COMPLETED 23:01:08.679 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible RUNNING 23:01:08.680 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=E-mail, 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) 23:01:08.747 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible COMPLETED 23:01:08.748 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" RUNNING 23:01:08.749 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=E-mail, 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) 23:01:08.798 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=E-mail, accessibilityText=, hintText=E-mail, ignoreBoundsFiltering=false, resource-id=, clickable=true, bounds=[42,263][1038,379], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.EditText}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=42, y=263, width=996, height=116)) 23:01:09.564 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 23:01:09.564 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 321) using hierarchy based logic for wait 23:01:09.564 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 23:01:09.564 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 23:01:11.317 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 23:01:11.317 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" COMPLETED 23:01:11.318 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com RUNNING 23:01:11.319 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(inputTextCommand=InputTextCommand(text=test@stripe.com, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 23:01:11.320 [ INFO] maestro.Maestro.inputText: Inputting text: test@stripe.com 23:01:13.399 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com COMPLETED 23:01:13.402 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" RUNNING 23:01:13.403 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Pay, 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) 23:01:13.475 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Pay, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[504,473][575,530], 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=504, y=473, width=71, height=57)) 23:01:14.289 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 23:01:14.289 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (539, 501) using hierarchy based logic for wait 23:01:14.289 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 23:01:14.289 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 23:01:14.610 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 23:01:14.610 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 23:01:14.850 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by screenshot (d=2.6563253). Proceed. 23:01:14.850 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" COMPLETED 23:01:14.851 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" RUNNING 23:01:14.851 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 23:01:21.905 [ INFO] maestro.orchestra.Orchestra.executeCommands: [Command execution] CommandWarned: Element not found: Text matching regex: Continue 23:01:21.906 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=Element not found: Text matching regex: Continue, level=WARNING), aiReasoning=null, labeledCommand=null) 23:01:21.909 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" WARNED 23:01:21.911 [ INFO] maestro.Maestro.takeScreenshot: Taking screenshot 23:01:21.911 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 23:01:21.980 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible RUNNING 23:01:21.981 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=AUTHORIZE TEST 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), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 23:01:22.047 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible COMPLETED 23:01:22.049 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" RUNNING 23:01:22.050 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=AUTHORIZE TEST 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) 23:01:22.118 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=AUTHORIZE TEST PAYMENT, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[86,1309][616,1357], 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=86, y=1309, width=530, height=48)) 23:01:22.893 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 23:01:22.893 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (351, 1333) using hierarchy based logic for wait 23:01:22.893 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 23:01:22.893 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 23:01:23.679 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 23:01:23.680 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" COMPLETED 23:01:23.681 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible RUNNING 23:01:23.683 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Success, 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) 23:01:24.538 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible COMPLETED 23:01:24.539 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 23:01:24.540 [ 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) 23:01:25.075 [ 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)) 23:01:25.885 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 23:01:25.886 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 23:01:25.886 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 23:01:25.886 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 23:01:26.757 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 23:01:26.757 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 23:01:27.030 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 23:01:32.036 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 23:01:32.036 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 23:01:32.036 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 23:01:32.036 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 23:01:32.036 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 23:01:32.036 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 23:01:32.191 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 23:01:32.191 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 23:01:32.191 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 23:01:32.191 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 23:01:32.195 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel 11:44:50.140 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 11:44:50.141 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 11:44:50.142 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 11:44:50.142 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 11:44:50.142 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 11:44:50.142 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 11:44:50.142 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 11:44:50.371 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 11:44:50.375 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 11:44:50.380 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 11:44:50.381 [ INFO] MAESTRO.logSystemInfo: --------------------- 11:44:51.034 [ 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/paypal-payment.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:44:55.194 [ INFO] maestro.Maestro.invoke: Getting device info 11:44:55.353 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 11:44:55.400 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 11:44:55.402 [ 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=paypal-payment}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:44:55.405 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 11:44:55.406 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 11:44:55.411 [ 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:44:55.412 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 11:44:55.413 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 11:44:55.415 [ 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:44:57.060 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 11:44:57.363 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 11:44:57.366 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" RUNNING 11:44:57.368 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Wallets, 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:45:02.664 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Wallets, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,1172][1080,1229], 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=1172, width=1080, height=57)) 11:45:03.724 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 11:45:03.727 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 1200) using hierarchy based logic for wait 11:45:03.727 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 11:45:03.727 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:45:05.239 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 11:45:05.240 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" COMPLETED 11:45:05.241 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled RUNNING 11:45:05.242 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(scrollUntilVisibleCommand=ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:45:06.026 [ERROR] maestro.orchestra.Orchestra.scrollUntilVisible: Error: maestro.MaestroException$ElementNotFound: Element not found: Text matching regex: PayPal 11:45:06.035 [ INFO] maestro.Maestro.swipeFromCenter: Swiping UP from center 11:45:08.180 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Scrolling try count: 0, DeviceWidth: 1080, DeviceWidth: 1920 11:45:08.180 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Element bounds: Bounds(x=84, y=1000, width=954, height=57) 11:45:08.180 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Visibility Percent: 0 11:45:08.180 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Command centerElement: ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false).centerElement 11:45:08.180 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: visibilityPercentageNormalized: 1.0 11:45:08.180 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled COMPLETED 11:45:08.182 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" RUNNING 11:45:08.183 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=PayPal, 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:45:08.336 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=PayPal, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,1000][1038,1057], 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=1000, width=954, height=57)) 11:45:09.194 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 11:45:09.195 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 1028) using hierarchy based logic for wait 11:45:09.195 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 11:45:09.195 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:45:11.634 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 11:45:11.635 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" COMPLETED 11:45:11.637 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible RUNNING 11:45:11.639 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=E-mail, 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:45:11.739 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible COMPLETED 11:45:11.741 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" RUNNING 11:45:11.742 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=E-mail, 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:45:11.801 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=E-mail, accessibilityText=, hintText=E-mail, ignoreBoundsFiltering=false, resource-id=, clickable=true, bounds=[42,263][1038,379], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.EditText}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=42, y=263, width=996, height=116)) 11:45:12.595 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 11:45:12.595 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 321) using hierarchy based logic for wait 11:45:12.595 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 11:45:12.596 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:45:14.531 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 11:45:14.531 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" COMPLETED 11:45:14.532 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com RUNNING 11:45:14.532 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(inputTextCommand=InputTextCommand(text=test@stripe.com, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:45:14.533 [ INFO] maestro.Maestro.inputText: Inputting text: test@stripe.com 11:45:16.743 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com COMPLETED 11:45:16.744 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" RUNNING 11:45:16.746 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Pay, 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:45:16.804 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Pay, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[504,473][575,530], 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=504, y=473, width=71, height=57)) 11:45:17.728 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 11:45:17.728 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (539, 501) using hierarchy based logic for wait 11:45:17.728 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 11:45:17.729 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:45:18.418 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 11:45:18.419 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:45:19.042 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by screenshot (d=0.006847994). Proceed. 11:45:19.043 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" COMPLETED 11:45:19.044 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" RUNNING 11:45:19.045 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:45:26.155 [ INFO] maestro.orchestra.Orchestra.executeCommands: [Command execution] CommandWarned: Element not found: Text matching regex: Continue 11:45:26.155 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=Element not found: Text matching regex: Continue, level=WARNING), aiReasoning=null, labeledCommand=null) 11:45:26.159 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" WARNED 11:45:26.162 [ INFO] maestro.Maestro.takeScreenshot: Taking screenshot 11:45:26.162 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:45:26.391 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible RUNNING 11:45:26.392 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=AUTHORIZE TEST 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), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 11:45:26.564 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible COMPLETED 11:45:26.566 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" RUNNING 11:45:26.567 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=AUTHORIZE TEST 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:45:26.621 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=AUTHORIZE TEST PAYMENT, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[86,1309][616,1357], 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=86, y=1309, width=530, height=48)) 11:45:27.517 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 11:45:27.517 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (351, 1333) using hierarchy based logic for wait 11:45:27.517 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 11:45:27.517 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:45:28.592 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 11:45:28.592 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" COMPLETED 11:45:28.593 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible RUNNING 11:45:28.594 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Success, 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:45:30.089 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible COMPLETED 11:45:30.091 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 11:45:30.092 [ 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:45:30.470 [ 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:45:31.324 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 11:45:31.324 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 11:45:31.324 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 11:45:31.324 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 11:45:32.397 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 11:45:32.397 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 11:45:32.623 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 11:45:37.629 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 11:45:37.630 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 11:45:37.630 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 11:45:37.630 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 11:45:37.630 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 11:45:37.630 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 11:45:38.041 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 11:45:38.042 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 11:45:38.042 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 11:45:38.042 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 11:45:38.045 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel 17:08:50.028 [ INFO] MAESTRO.logSystemInfo: ---- System Info ---- 17:08:50.029 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.41.0 17:08:50.029 [ INFO] MAESTRO.logSystemInfo: CI: Undefined 17:08:50.030 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X 17:08:50.030 [ INFO] MAESTRO.logSystemInfo: OS Version: 15.5 17:08:50.030 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64 17:08:50.030 [ INFO] MAESTRO.logSystemInfo: Java Version: 17 17:08:50.148 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.0 17:08:50.153 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined 17:08:50.157 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined 17:08:50.157 [ INFO] MAESTRO.logSystemInfo: --------------------- 17:08:50.341 [DEBUG] io.micrometer.common.util.internal.logging.InternalLoggerFactory.newDefaultFactory: Using SLF4J as the default logging framework 17:08:50.666 [ 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/paypal-payment.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:08:52.253 [ INFO] maestro.Maestro.invoke: Getting device info 17:08:52.398 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=ANDROID, widthPixels=1080, heightPixels=1920, widthGrid=1080, heightGrid=1920) 17:08:52.449 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING 17:08:52.451 [ 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=paypal-payment}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:08:52.454 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED 17:08:52.455 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING 17:08:52.459 [ 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:08:52.460 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED 17:08:52.461 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" RUNNING 17:08:52.463 [ 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:08:53.205 [ INFO] maestro.Maestro.launchApp: Launching app com.stripe.react.native 17:08:53.274 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "${APP_ID}" COMPLETED 17:08:53.275 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" RUNNING 17:08:53.276 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Wallets, 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:08:55.308 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Wallets, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[0,1172][1080,1229], 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=1172, width=1080, height=57)) 17:08:56.093 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:08:56.094 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 1200) using hierarchy based logic for wait 17:08:56.094 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:08:56.094 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:08:57.457 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:08:57.458 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Wallets" COMPLETED 17:08:57.461 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled RUNNING 17:08:57.465 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(scrollUntilVisibleCommand=ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:08:58.026 [ERROR] maestro.orchestra.Orchestra.scrollUntilVisible: Error: maestro.MaestroException$ElementNotFound: Element not found: Text matching regex: PayPal 17:08:58.030 [ INFO] maestro.Maestro.swipeFromCenter: Swiping UP from center 17:08:59.810 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Scrolling try count: 0, DeviceWidth: 1080, DeviceWidth: 1920 17:08:59.810 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Element bounds: Bounds(x=84, y=1015, width=954, height=57) 17:08:59.810 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Visibility Percent: 0 17:08:59.810 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: Command centerElement: ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=PayPal, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=false, originalSpeedValue=40, label=null, optional=false).centerElement 17:08:59.810 [ INFO] maestro.orchestra.Orchestra.scrollUntilVisible: visibilityPercentageNormalized: 1.0 17:08:59.810 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "PayPal" is visible with speed 40, visibility percentage 100%, timeout 20000 ms, with centering disabled COMPLETED 17:08:59.811 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" RUNNING 17:08:59.812 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=PayPal, 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:08:59.885 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=PayPal, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[84,1015][1038,1072], 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=1015, width=954, height=57)) 17:09:00.944 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:09:00.945 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (561, 1043) using hierarchy based logic for wait 17:09:00.945 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:09:00.946 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:09:02.274 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:09:02.274 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "PayPal" COMPLETED 17:09:02.276 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible RUNNING 17:09:02.279 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=E-mail, 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:09:02.340 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "E-mail" is visible COMPLETED 17:09:02.342 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" RUNNING 17:09:02.344 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=E-mail, 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:09:02.362 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=E-mail, accessibilityText=, hintText=E-mail, ignoreBoundsFiltering=false, resource-id=, clickable=true, bounds=[42,263][1038,379], enabled=true, focused=false, checked=false, scrollable=false, selected=false, class=android.widget.EditText}, children=[], clickable=true, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=42, y=263, width=996, height=116)) 17:09:03.204 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:09:03.205 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (540, 321) using hierarchy based logic for wait 17:09:03.205 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:09:03.205 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:09:04.981 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:09:04.981 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "E-mail" COMPLETED 17:09:04.982 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com RUNNING 17:09:04.983 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(inputTextCommand=InputTextCommand(text=test@stripe.com, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:09:04.983 [ INFO] maestro.Maestro.inputText: Inputting text: test@stripe.com 17:09:07.190 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Input text test@stripe.com COMPLETED 17:09:07.190 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" RUNNING 17:09:07.191 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Pay, 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:09:07.278 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=Pay, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[504,473][575,530], 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=504, y=473, width=71, height=57)) 17:09:08.084 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:09:08.084 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (539, 501) using hierarchy based logic for wait 17:09:08.084 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:09:08.084 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:09:08.409 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:09:08.410 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:09:08.899 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by screenshot (d=3.0343645). Proceed. 17:09:08.899 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "Pay" COMPLETED 17:09:08.900 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" RUNNING 17:09:08.900 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:09:17.063 [ INFO] maestro.orchestra.Orchestra.executeCommands: [Command execution] CommandWarned: Element not found: Text matching regex: Continue 17:09:17.064 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=Continue, idRegex=null, size=null, below=null, above=null, leftOf=null, rightOf=null, containsChild=null, containsDescendants=null, traits=null, index=null, enabled=null, optional=true, selected=null, checked=null, focused=null, childOf=null, css=null), retryIfNoChange=false, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=true)), logMessages=[], insight=Insight(message=Element not found: Text matching regex: Continue, level=WARNING), aiReasoning=null, labeledCommand=null) 17:09:17.067 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on (Optional) "Continue" WARNED 17:09:17.069 [ INFO] maestro.Maestro.takeScreenshot: Taking screenshot 17:09:17.069 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:09:17.145 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible RUNNING 17:09:17.146 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=AUTHORIZE TEST 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), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), aiReasoning=null, labeledCommand=null) 17:09:25.887 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "AUTHORIZE TEST PAYMENT" is visible COMPLETED 17:09:25.890 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" RUNNING 17:09:25.892 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=AUTHORIZE TEST 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:09:25.962 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={text=AUTHORIZE TEST PAYMENT, accessibilityText=, hintText=, ignoreBoundsFiltering=false, resource-id=, clickable=false, bounds=[86,1309][616,1357], 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=86, y=1309, width=530, height=48)) 17:09:27.211 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:09:27.212 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (351, 1330) using hierarchy based logic for wait 17:09:27.212 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:09:27.212 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:09:28.403 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:09:28.403 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "AUTHORIZE TEST PAYMENT" COMPLETED 17:09:28.405 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible RUNNING 17:09:28.406 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=Success, 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:09:28.425 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "Success" is visible COMPLETED 17:09:28.426 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" RUNNING 17:09:28.427 [ 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:09:28.522 [ 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:09:29.290 [ INFO] maestro.Maestro.tap-BUbHBYE: Refreshed element 17:09:29.290 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Tapping at (894, 1092) using hierarchy based logic for wait 17:09:29.290 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to byte array 17:09:29.290 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink 17:09:30.187 [ INFO] maestro.Maestro.hierarchyBasedTap-hbl3e4M: Something have changed in the UI judging by view hierarchy. Proceed. 17:09:30.188 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "OK" COMPLETED 17:09:30.445 [ INFO] maestro.drivers.AndroidDriver.close: [Start] close port forwarder 17:09:35.452 [ INFO] maestro.drivers.AndroidDriver.close: [Done] close port forwarder 17:09:35.454 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port forwarder map 17:09:35.454 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port forwarder map 17:09:35.454 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Remove host port from port to allocation map 17:09:35.454 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Remove host port from port to allocation map 17:09:35.454 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Uninstall driver from device 17:09:35.711 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Uninstall driver from device 17:09:35.712 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Close instrumentation session 17:09:35.712 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Close instrumentation session 17:09:35.712 [ INFO] maestro.drivers.AndroidDriver.close: [Start] Shutdown GRPC channel 17:09:35.715 [ INFO] maestro.drivers.AndroidDriver.close: [Done] Shutdown GRPC channel