You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You can see that the flow gets stuck on scrollUntilVisible step & fails with error.
Swap BlurView with react-native View
Replace the BlurView component on file app/index.tsx#L14 with a View.
Run maestro test again & the flow passes.
Actual results
Maestro flow gets stuck on scrollUntilVisible step. It scrolls once after waiting a long time then fails with an error com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input.
Expected results
scrollUntilVisible should work fine with expo-blur component and Xcode 16+
About app
Expo app (reproduced on both v51 & v52), on iOS platform. It only occurs on Xcode 16+, using Xcode 15 it works fine.
About environment
OS Name: Mac OS X
OS Version: 14.7.2
Architecture: aarch64
Java Version: 17
Xcode Version: 16.2
Logs
Logs
16:50:55.975 [ INFO] MAESTRO.logSystemInfo: ---- System Info ----
16:50:55.976 [ INFO] MAESTRO.logSystemInfo: Maestro Version: 1.39.7
16:50:55.977 [ INFO] MAESTRO.logSystemInfo: CI: Undefined
16:50:55.977 [ INFO] MAESTRO.logSystemInfo: OS Name: Mac OS X
16:50:55.977 [ INFO] MAESTRO.logSystemInfo: OS Version: 14.7.2
16:50:55.977 [ INFO] MAESTRO.logSystemInfo: Architecture: aarch64
16:50:55.977 [ INFO] MAESTRO.logSystemInfo: Java Version: 17
16:50:56.115 [ INFO] MAESTRO.logSystemInfo: Xcode Version: 16.2
16:50:56.118 [ INFO] MAESTRO.logSystemInfo: Flutter Version: Undefined
16:50:56.120 [ INFO] MAESTRO.logSystemInfo: Flutter Channel: Undefined
16:50:56.120 [ INFO] MAESTRO.logSystemInfo: ---------------------
16:50:56.401 [DEBUG] io.micrometer.common.util.internal.logging.InternalLoggerFactory.newDefaultFactory: Using SLF4J as the default logging framework
16:50:56.746 [ INFO] maestro.cli.command.TestCommand.runShardSuite: [shard 1] Selected device 34FBDB55-933B-45E9-BCBE-053E567AB081 using port 7001
16:50:56.928 [TRACE] ios.xctest.XCTestIOSDevice.open: Opening a connection
16:50:56.928 [TRACE] xcuitest.XCTestDriverClient.restartXCTestRunner: Restarting XCTest Runner (uninstalling, installing and starting)
16:50:56.929 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:50:56.931 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Failed] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081, exception: java.net.ConnectException: Failed to connect to /[0:0:0:0:0:0:0:1]:7001
16:50:56.931 [TRACE] xcuitest.XCTestDriverClient.restartXCTestRunner: XCTest Runner uninstalled, will install and start it
16:50:56.931 [ INFO] xcuitest.installer.LocalXCTestInstaller.invoke: start()
16:50:56.931 [ INFO] xcuitest.installer.LocalXCTestInstaller.invoke: [Start] Install XCUITest runner on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:50:56.931 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:50:56.932 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Failed] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081, exception: java.net.ConnectException: Failed to connect to /[0:0:0:0:0:0:0:1]:7001
16:50:56.932 [ INFO] xcuitest.installer.LocalXCTestInstaller.startXCTestRunner: [Start] Writing xctest run file
16:50:56.932 [ INFO] xcuitest.installer.LocalXCTestInstaller.startXCTestRunner: [Done] Writing xctest run file
16:50:56.933 [ INFO] xcuitest.installer.LocalXCTestInstaller.startXCTestRunner: [Start] Writing maestro-driver-iosUITests-Runner app
16:50:57.305 [ INFO] xcuitest.installer.LocalXCTestInstaller.startXCTestRunner: [Done] Writing maestro-driver-iosUITests-Runner app
16:50:57.305 [ INFO] xcuitest.installer.LocalXCTestInstaller.startXCTestRunner: [Start] Writing maestro-driver-ios app
16:50:57.317 [ INFO] xcuitest.installer.LocalXCTestInstaller.startXCTestRunner: [Done] Writing maestro-driver-ios app
16:50:57.317 [ INFO] xcuitest.installer.LocalXCTestInstaller.startXCTestRunner: [Start] Running XcUITest with `xcodebuild test-without-building`
16:50:57.320 [ INFO] util.CommandLineUtils.runCommand: Running command line operation: [xcodebuild, test-without-building, -xctestrun, /var/folders/1s/yf2gnyds3gs2yr3s0vh723_h0000gn/T/34FBDB55-933B-45E9-BCBE-053E567AB081/maestro-driver-ios-config.xctestrun, -destination, id=34FBDB55-933B-45E9-BCBE-053E567AB081, -derivedDataPath, /var/folders/1s/yf2gnyds3gs2yr3s0vh723_h0000gn/T/maestro_xctestrunner_xcodebuild_output10468570678614307128]
16:50:57.324 [ INFO] xcuitest.installer.LocalXCTestInstaller.startXCTestRunner: [Done] Running XcUITest with `xcodebuild test-without-building`
16:50:57.324 [ INFO] xcuitest.installer.LocalXCTestInstaller.invoke: [Done] Install XCUITest runner on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:50:57.324 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:50:57.325 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Failed] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081, exception: java.net.ConnectException: Failed to connect to /[0:0:0:0:0:0:0:1]:7001
16:50:57.831 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:50:57.831 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Failed] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081, exception: java.net.ConnectException: Failed to connect to /[0:0:0:0:0:0:0:1]:7001
16:50:58.337 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:50:58.337 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Failed] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081, exception: java.net.ConnectException: Failed to connect to /[0:0:0:0:0:0:0:1]:7001
16:50:58.843 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:50:58.843 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Failed] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081, exception: java.net.ConnectException: Failed to connect to /[0:0:0:0:0:0:0:1]:7001
16:50:59.348 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:50:59.348 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Failed] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081, exception: java.net.ConnectException: Failed to connect to /[0:0:0:0:0:0:0:1]:7001
16:50:59.850 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:50:59.851 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Failed] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081, exception: java.net.ConnectException: Failed to connect to /[0:0:0:0:0:0:0:1]:7001
16:51:00.356 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:51:00.358 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Failed] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081, exception: java.net.ConnectException: Failed to connect to /[0:0:0:0:0:0:0:1]:7001
16:51:00.859 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:51:00.925 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Done] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:51:00.956 [ INFO] maestro.Maestro.invoke: Getting device info
16:51:01.065 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Device info DeviceInfo(widthPixels=1206, heightPixels=2622, widthPoints=402, heightPoints=874)
16:51:01.066 [ INFO] maestro.Maestro.invoke: Got device info: DeviceInfo(platform=IOS, widthPixels=1206, heightPixels=2622, widthGrid=402, heightGrid=874)
16:51:01.067 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables RUNNING
16:51:01.069 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(defineVariablesCommand=DefineVariablesCommand(env={MAESTRO_AUTO_USER_PASSWORD=zbfuMEvcqT4CCVPNIihc0w!, MAESTRO_FILENAME=scroll-test}, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:01.070 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Define variables COMPLETED
16:51:01.071 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration RUNNING
16:51:01.072 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(applyConfigurationCommand=ApplyConfigurationCommand(config=MaestroConfig(appId=host.exp.Exponent, name=null, tags=[], ext={jsEngine=graaljs}, onFlowStart=null, onFlowComplete=null), label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:01.073 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Apply configuration COMPLETED
16:51:01.073 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "host.exp.Exponent" RUNNING
16:51:01.074 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "host.exp.Exponent" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(launchAppCommand=LaunchAppCommand(appId=host.exp.Exponent, clearState=null, clearKeychain=null, stopApp=null, permissions=null, launchArguments=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:01.076 [ INFO] util.CommandLineUtils.runCommand: Running command line operation: [/Users/me/.maestro/deps/applesimutils, --byId, 34FBDB55-933B-45E9-BCBE-053E567AB081, --bundle, host.exp.Exponent, --setPermissions, calendar=YES,camera=YES,contacts=YES,faceid=YES,homekit=YES,medialibrary=YES,microphone=YES,motion=YES,photos=YES,reminders=YES,siri=YES,speech=YES,userTracking=YES]
16:51:01.354 [ INFO] util.CommandLineUtils.runCommand: Running command line operation: [xcrun, simctl, privacy, 34FBDB55-933B-45E9-BCBE-053E567AB081, grant, location-always, host.exp.Exponent]
16:51:01.548 [ INFO] maestro.Maestro.launchApp: Launching app host.exp.Exponent
16:51:01.711 [ INFO] util.CommandLineUtils.runCommand: Running command line operation: [xcrun, simctl, spawn, 34FBDB55-933B-45E9-BCBE-053E567AB081, launchctl, setenv, MAESTRO_SESSION_ID, f6644486-ed6d-4a3c-9df3-6ba4ada5108a]
16:51:02.032 [ INFO] util.CommandLineUtils.runCommand: Running command line operation: [xcrun, simctl, launch, 34FBDB55-933B-45E9-BCBE-053E567AB081, host.exp.Exponent]
16:51:02.271 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Launch app "host.exp.Exponent" COMPLETED
16:51:02.272 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "MaestroScrollIssue" is visible RUNNING
16:51:02.274 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "MaestroScrollIssue" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=MaestroScrollIssue, 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), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:02.403 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Device info DeviceInfo(widthPixels=1206, heightPixels=2622, widthPoints=402, heightPoints=874)
16:51:02.404 [ INFO] ios.IOSDevice.viewHierarchy: Requesting view hierarchy of the screen
16:51:05.419 [TRACE] ios.xctest.XCTestIOSDevice.invoke: Depth received: 46
16:51:05.420 [ INFO] ios.IOSDevice.viewHierarchy: Depth of the screen is 46
16:51:05.420 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "MaestroScrollIssue" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=MaestroScrollIssue, 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), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:05.424 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "MaestroScrollIssue" is visible COMPLETED
16:51:05.425 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "MaestroScrollIssue" RUNNING
16:51:05.425 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "MaestroScrollIssue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=MaestroScrollIssue, 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), retryIfNoChange=true, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:05.498 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Device info DeviceInfo(widthPixels=1206, heightPixels=2622, widthPoints=402, heightPoints=874)
16:51:05.498 [ INFO] ios.IOSDevice.viewHierarchy: Requesting view hierarchy of the screen
16:51:06.365 [TRACE] ios.xctest.XCTestIOSDevice.invoke: Depth received: 46
16:51:06.365 [ INFO] ios.IOSDevice.viewHierarchy: Depth of the screen is 46
16:51:06.365 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "MaestroScrollIssue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=MaestroScrollIssue, 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), retryIfNoChange=true, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:06.369 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "MaestroScrollIssue" metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(tapOnElementCommand=TapOnElementCommand(selector=ElementSelector(textRegex=MaestroScrollIssue, 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), retryIfNoChange=true, waitUntilVisible=false, longPress=false, repeat=null, waitToSettleTimeoutMs=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=TapPoint(point=Point(x=201, y=435)))
16:51:06.369 [ INFO] maestro.Maestro.tap-BUbHBYE: Tapping on element: UiElement(treeNode=TreeNode(attributes={accessibilityText=MaestroScrollIssue, title=, value=, text=, hintText=, resource-id=, bounds=[17,399][385,471], enabled=true, focused=false, selected=false, checked=false}, children=[TreeNode(attributes={accessibilityText=, title=, value=, text=, hintText=, resource-id=, bounds=[17,399][385,471], enabled=true, focused=false, selected=false, checked=false}, children=[TreeNode(attributes={accessibilityText=MaestroScrollIssue, title=, value=, text=, hintText=, resource-id=, bounds=[17,399][385,471], enabled=true, focused=false, selected=false, checked=false}, children=[], clickable=null, enabled=true, focused=false, checked=false, selected=false)], clickable=null, enabled=true, focused=false, checked=false, selected=false)], clickable=null, enabled=true, focused=false, checked=false, selected=false), bounds=Bounds(x=17, y=399, width=368, height=72))
16:51:06.370 [ INFO] ios.IOSDevice.invoke-F9mIFpk: Waiting for animation to end with timeout 3000
16:51:06.555 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Screen diff request finished with isScreenStatic = true
16:51:06.555 [ INFO] ios.IOSDevice.invoke: screen static = true
16:51:06.557 [ INFO] maestro.Maestro.screenshotBasedTap-hbl3e4M: Tapping at (201, 435) using screenshot based logic for wait
16:51:06.991 [ INFO] ios.IOSDevice.invoke-F9mIFpk: Waiting for animation to end with timeout 3000
16:51:07.181 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Screen diff request finished with isScreenStatic = false
16:51:07.181 [ INFO] ios.IOSDevice.invoke: screen static = false
16:51:07.386 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Screen diff request finished with isScreenStatic = true
16:51:07.387 [ INFO] ios.IOSDevice.invoke: screen static = true
16:51:07.387 [ INFO] maestro.Maestro.screenshotBasedTap-hbl3e4M: Something has changed in the UI judging by view hierarchy. Proceed.
16:51:07.387 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Tap on "MaestroScrollIssue" COMPLETED
16:51:07.388 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "index" is visible RUNNING
16:51:07.389 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "index" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=index, 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), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:07.497 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Device info DeviceInfo(widthPixels=1206, heightPixels=2622, widthPoints=402, heightPoints=874)
16:51:07.497 [ INFO] ios.IOSDevice.viewHierarchy: Requesting view hierarchy of the screen
16:51:08.322 [TRACE] ios.xctest.XCTestIOSDevice.invoke: Depth received: 24
16:51:08.322 [ INFO] ios.IOSDevice.viewHierarchy: Depth of the screen is 24
16:51:08.322 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "index" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=index, 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), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:08.434 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Device info DeviceInfo(widthPixels=1206, heightPixels=2622, widthPoints=402, heightPoints=874)
16:51:08.435 [ INFO] ios.IOSDevice.viewHierarchy: Requesting view hierarchy of the screen
16:51:09.264 [TRACE] ios.xctest.XCTestIOSDevice.invoke: Depth received: 24
16:51:09.264 [ INFO] ios.IOSDevice.viewHierarchy: Depth of the screen is 24
16:51:09.264 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "index" is visible metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(assertConditionCommand=AssertConditionCommand(condition=Condition(platform=null, visible=ElementSelector(textRegex=index, 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), notVisible=null, scriptCondition=null, label=null), timeout=null, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:09.267 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Assert that "index" is visible COMPLETED
16:51:09.268 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "Item - 30" is visible. RUNNING
16:51:09.269 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "Item - 30" is visible. metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(scrollUntilVisibleCommand=ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=Item - 30, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=true, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:09.371 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Device info DeviceInfo(widthPixels=1206, heightPixels=2622, widthPoints=402, heightPoints=874)
16:51:09.479 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Device info DeviceInfo(widthPixels=1206, heightPixels=2622, widthPoints=402, heightPoints=874)
16:51:09.479 [ INFO] ios.IOSDevice.viewHierarchy: Requesting view hierarchy of the screen
16:51:10.290 [TRACE] ios.xctest.XCTestIOSDevice.invoke: Depth received: 24
16:51:10.291 [ INFO] ios.IOSDevice.viewHierarchy: Depth of the screen is 24
16:51:10.291 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "Item - 30" is visible. metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(scrollUntilVisibleCommand=ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=Item - 30, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=true, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:10.415 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Device info DeviceInfo(widthPixels=1206, heightPixels=2622, widthPoints=402, heightPoints=874)
16:51:10.415 [ INFO] ios.IOSDevice.viewHierarchy: Requesting view hierarchy of the screen
16:51:11.325 [TRACE] ios.xctest.XCTestIOSDevice.invoke: Depth received: 24
16:51:11.325 [ INFO] ios.IOSDevice.viewHierarchy: Depth of the screen is 24
16:51:11.325 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "Item - 30" is visible. metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=MaestroCommand(scrollUntilVisibleCommand=ScrollUntilVisibleCommand(selector=ElementSelector(textRegex=Item - 30, 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), direction=DOWN, scrollDuration=601, visibilityPercentage=100, timeout=20000, waitToSettleTimeoutMs=null, centerElement=true, label=null, optional=false)), logMessages=[], insight=Insight(message=, level=NONE), action=null)
16:51:11.328 [ INFO] maestro.cli.runner.MaestroCommandRunner.invoke: Scrolling DOWN until "Item - 30" is visible. metadata CommandMetadata(numberOfRuns=null, evaluatedCommand=null, logMessages=[], insight=Insight(message=, level=NONE), action=MultipleSwipePoint(direction=UP, points=[Point(x=201, y=437)]))
16:51:11.463 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Device info DeviceInfo(widthPixels=1206, heightPixels=2622, widthPoints=402, heightPoints=874)
16:51:11.463 [ INFO] maestro.Maestro.swipeFromCenter: Swiping UP from center
16:51:11.568 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Device info DeviceInfo(widthPixels=1206, heightPixels=2622, widthPoints=402, heightPoints=874)
16:51:11.673 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Device info DeviceInfo(widthPixels=1206, heightPixels=2622, widthPoints=402, heightPoints=874)
16:51:11.675 [ INFO] ios.IOSDevice.invoke-F9mIFpk: Waiting for animation to end with timeout 3000
16:51:11.887 [ INFO] ios.xctest.XCTestIOSDevice.invoke: Screen diff request finished with isScreenStatic = true
16:51:11.888 [ INFO] ios.IOSDevice.invoke: screen static = true
16:53:13.658 [ INFO] maestro.Maestro.takeScreenshot: Taking screenshot
16:53:13.659 [TRACE] maestro.utils.ScreenshotUtils.takeScreenshot: Taking screenshot to output sink
16:53:13.859 [ERROR] maestro.cli.runner.TestRunner.runCatching: Failed to run flow
com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1]
at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4996)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4898)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3848)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3816)
at xcuitest.XCTestDriverClient.handleExceptions(XCTestDriverClient.kt:251)
at xcuitest.XCTestDriverClient.processResponse(XCTestDriverClient.kt:240)
at xcuitest.XCTestDriverClient.executeJsonRequest(XCTestDriverClient.kt:222)
at xcuitest.XCTestDriverClient.swipeV2(XCTestDriverClient.kt:118)
at ios.xctest.XCTestIOSDevice$scrollV2$1.invoke(XCTestIOSDevice.kt:107)
at ios.xctest.XCTestIOSDevice$scrollV2$1.invoke(XCTestIOSDevice.kt:106)
at ios.xctest.XCTestIOSDevice.execute(XCTestIOSDevice.kt:229)
at ios.xctest.XCTestIOSDevice.scrollV2(XCTestIOSDevice.kt:106)
at ios.LocalIOSDevice.scroll(LocalIOSDevice.kt:80)
at maestro.drivers.IOSDriver$swipe$1$1.invoke(IOSDriver.kt:245)
at maestro.drivers.IOSDriver$swipe$1$1.invoke(IOSDriver.kt:243)
at maestro.drivers.IOSDriver.runDeviceCall(IOSDriver.kt:530)
at maestro.drivers.IOSDriver.access$runDeviceCall(IOSDriver.kt:43)
at maestro.drivers.IOSDriver$swipe$1.invoke(IOSDriver.kt:243)
at maestro.drivers.IOSDriver$swipe$1.invoke(IOSDriver.kt:238)
at maestro.utils.Metrics.measured(Metrics.kt:48)
at maestro.drivers.IOSDriver.swipe(IOSDriver.kt:238)
at maestro.drivers.IOSDriver$swipe$3.invoke(IOSDriver.kt:323)
at maestro.drivers.IOSDriver$swipe$3.invoke(IOSDriver.kt:315)
at maestro.utils.Metrics.measured(Metrics.kt:48)
at maestro.drivers.IOSDriver.swipe(IOSDriver.kt:315)
at maestro.Maestro.swipeFromCenter(Maestro.kt:165)
at maestro.orchestra.Orchestra.scrollUntilVisible(Orchestra.kt:541)
at maestro.orchestra.Orchestra.executeCommand(Orchestra.kt:273)
at maestro.orchestra.Orchestra.executeCommands(Orchestra.kt:197)
at maestro.orchestra.Orchestra.runFlow(Orchestra.kt:131)
at maestro.cli.runner.MaestroCommandRunner.runCommands(MaestroCommandRunner.kt:179)
at maestro.cli.runner.TestRunner$runSingle$result$1.invoke(TestRunner.kt:62)
at maestro.cli.runner.TestRunner$runSingle$result$1.invoke(TestRunner.kt:53)
at maestro.cli.runner.TestRunner.runCatching(TestRunner.kt:160)
at maestro.cli.runner.TestRunner.runSingle(TestRunner.kt:53)
at maestro.cli.command.TestCommand.runSingleFlow(TestCommand.kt:352)
at maestro.cli.command.TestCommand.access$runSingleFlow(TestCommand.kt:63)
at maestro.cli.command.TestCommand$runShardSuite$2.invoke(TestCommand.kt:326)
at maestro.cli.command.TestCommand$runShardSuite$2.invoke(TestCommand.kt:297)
at maestro.cli.session.MaestroSessionManager.newSession(MaestroSessionManager.kt:103)
at maestro.cli.session.MaestroSessionManager.newSession$default(MaestroSessionManager.kt:53)
at maestro.cli.command.TestCommand.runShardSuite(TestCommand.kt:297)
at maestro.cli.command.TestCommand.access$runShardSuite(TestCommand.kt:63)
at maestro.cli.command.TestCommand$handleSessions$1$results$1$1.invokeSuspend(TestCommand.kt:265)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
16:53:13.862 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:53:13.957 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Done] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:53:14.626 [ INFO] xcuitest.installer.LocalXCTestInstaller.close: [Start] Cleaning up the ui test runner files
16:53:14.679 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Start] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:53:14.784 [ INFO] xcuitest.installer.LocalXCTestInstaller.xcTestDriverStatusCheck: [Done] Perform XCUITest driver status check on 34FBDB55-933B-45E9-BCBE-053E567AB081
16:53:14.785 [TRACE] xcuitest.installer.LocalXCTestInstaller.invoke$killXCTestRunnerProcess: Will attempt to stop all alive XCTest Runner processes before uninstalling
16:53:14.785 [TRACE] xcuitest.installer.LocalXCTestInstaller.invoke$killXCTestRunnerProcess: XCTest Runner process started by us is alive, killing it
16:53:15.243 [TRACE] xcuitest.installer.LocalXCTestInstaller.invoke$killXCTestRunnerProcess: All XCTest Runner processes were stopped
16:53:15.243 [TRACE] xcuitest.installer.LocalXCTestInstaller.invoke: Uninstalling XCTest Runner from device 34FBDB55-933B-45E9-BCBE-053E567AB081
16:53:15.243 [ INFO] util.CommandLineUtils.runCommand: Running command line operation: [xcrun, simctl, uninstall, 34FBDB55-933B-45E9-BCBE-053E567AB081, dev.mobile.maestro-driver-iosUITests.xctrunner]
16:53:15.446 [ INFO] xcuitest.installer.LocalXCTestInstaller.close: [Done] Cleaning up the ui test runner files
I started seeing this issue only after I installed Xcode 16, previous versions of Xcode work fine. Can reproduce this issue on both Expo SDK 51 & 52, on different iOS simulators (17, 18, 18.2).
If I swap BlurView with a react-native View, the flow passes.
tb-nishant
changed the title
scroll does not work with Expo BlurViewand Xcode 16+
scroll, scrollUntilVisible do not work with Expo BlurView and Xcode 16+
Jan 16, 2025
Is there an existing issue for this?
Steps to reproduce
Clone https://github.com/tb-nishant/maestro-scroll-issue.git
Install dependencies
Start the app
Open the app in a iOS simulator
Run maestro test
You can see that the flow gets stuck on
scrollUntilVisible
step & fails with error.Swap
BlurView
with react-nativeView
BlurView
component on file app/index.tsx#L14 with aView
.Run maestro test again & the flow passes.
Actual results
Maestro flow gets stuck on
scrollUntilVisible
step. It scrolls once after waiting a long time then fails with an errorcom.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
.Expected results
scrollUntilVisible
should work fine withexpo-blur
component and Xcode 16+About app
Expo app (reproduced on both v51 & v52), on iOS platform. It only occurs on Xcode 16+, using Xcode 15 it works fine.
About environment
OS Name: Mac OS X
OS Version: 14.7.2
Architecture: aarch64
Java Version: 17
Xcode Version: 16.2
Logs
Logs
Maestro version
1.39.7
How did you install Maestro?
install script (https://get.maestro.mobile.dev)
Anything else?
I started seeing this issue only after I installed Xcode 16, previous versions of Xcode work fine. Can reproduce this issue on both Expo SDK 51 & 52, on different iOS simulators (17, 18, 18.2).
If I swap
BlurView
with a react-nativeView
, the flow passes.One of my coworkers posted this issue in maestro slack channel some time back, also saw one other report about this.
There is also this weird issue with Detox &
expo-blur
, something I found similar.The text was updated successfully, but these errors were encountered: