Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

Protractor with Appium on iOS not working correctly #1736

Closed
@mindmelting

Description

@mindmelting

Protractor tests work fine on Android, but with Appium on iOS it uses SafariLauncher and navigates to my angular app, but it never seems to load the app and I just get a gray screen. If I hit refresh the app loads fine though.

The angular app uses requirejs and is manually bootstrapped to a div element, so I configure rootElement in my configuration.

If I use java to write tests, they run fine and the app launches...hence I think it is a Protractor issue...

This is the logs that get output from my selenium grid instance...

info: [debug] Navigating to most recently opened webview
info: [debug] [REMOTE] Getting WebKitRemoteDebugger pageArray
info: [debug] Picking webview WEBVIEW_1
info: [debug] Attempting to set context to 'WEBVIEW_1'
info: [debug] [REMOTE] Debugger web socket connected to url [ws://localhost:27753/devtools/page/1]
info: [debug] [REMOTE] Unregistering from page readiness notifications
info: [debug] Device launched! Ready for commands
info: [debug] Setting command timeout to the default of 60 secs
info: [debug] Appium session started with sessionId 0cdf0798-8a56-403e-8554-33bff0f27c59
info: <-- POST /wd/hub/session 303 13191.439 ms - 9 
info: --> GET /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59 {}
info: [debug] Responding to client with success: {"status":0,"value":{"webStorageEnabled":false,"locationContextEnabled":false,"browserName":"safari","platform":"MAC","javascriptEnabled":true,"databaseEnabled":false,"takesScreenshot":true,"networkConnectionEnabled":false,"warnings":{},"desired":{"count":1,"deviceName":"SPRING iPhone 6","platformName":"iOS","browserName":"safari","deviceImages":"{\"selfie\":\"IMAG0007.jpg\",\"frontId\":\"IMAG0006.jpg\",\"backId\":\"IMAG0007.jpg\"}","deviceImagePath":"/storage/emulated/0/DCIM/100MEDIA/","version":"8.0.2"},"count":1,"deviceName":"SPRING iPhone 6","platformName":"iOS","deviceImages":"{\"selfie\":\"IMAG0007.jpg\",\"frontId\":\"IMAG0006.jpg\",\"backId\":\"IMAG0007.jpg\"}","deviceImagePath":"/storage/emulated/0/DCIM/100MEDIA/","version":"8.0.2","safari":true},"sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: <-- GET /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59 200 1.519 ms - 816 {"status":0,"value":{"webStorageEnabled":false,"locationContextEnabled":false,"browserName":"safari","platform":"MAC","javascriptEnabled":true,"databaseEnabled":false,"takesScreenshot":true,"networkConnectionEnabled":false,"warnings":{},"desired":{"count":1,"deviceName":"SPRING iPhone 6","platformName":"iOS","browserName":"safari","deviceImages":"{\"selfie\":\"IMAG0007.jpg\",\"frontId\":\"IMAG0006.jpg\",\"backId\":\"IMAG0007.jpg\"}","deviceImagePath":"/storage/emulated/0/DCIM/100MEDIA/","version":"8.0.2"},"count":1,"deviceName":"SPRING iPhone 6","platformName":"iOS","deviceImages":"{\"selfie\":\"IMAG0007.jpg\",\"frontId\":\"IMAG0006.jpg\",\"backId\":\"IMAG0007.jpg\"}","deviceImagePath":"/storage/emulated/0/DCIM/100MEDIA/","version":"8.0.2","safari":true},"sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: --> POST /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/timeouts/async_script {"ms":11000}
info: [debug] Set iOS async script timeout to 11000ms
info: [debug] Responding to client with success: {"status":0,"value":null,"sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: <-- POST /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/timeouts/async_script 200 2.258 ms - 76 {"status":0,"value":null,"sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: --> POST /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/url {"url":"about:blank"}
info: [debug] [REMOTE] Navigating to new URL: about:blank
info: [debug] [REMOTE] Remote debugger data sent [{"method":"Page.navigate","params":{"objectGroup":"console","includeCommandLineAPI":true,"doNotPauseOnExceptionsAndMuteConsole":true,"url":"about:blank"},"id":1}...]
Debugger web socket received data :  {"result":{},"id":1}
info: [debug] [REMOTE] Debugger got a message for 'Page.navigate' and have no handler, doing nothing.
info: [debug] [REMOTE] Waiting for frame navigated...
info: --> GET /wd/hub/status {}
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: <-- GET /wd/hub/status 200 0.958 ms - 104 {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: <-- GET /wd/hub/status 200 0.964 ms - 104 {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: <-- GET /wd/hub/status 200 1.001 ms - 104 {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: <-- GET /wd/hub/status 200 0.919 ms - 104 {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: <-- GET /wd/hub/status 200 0.718 ms - 104 {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"7cd78df062b480dbde79331b320e6c7147af6788"},"isShuttingDown":false},"sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: <-- GET /wd/hub/status 200 2.223 ms - 178 {"status":0,"value":{"build":{"version":"1.3.4","revision":"7cd78df062b480dbde79331b320e6c7147af6788"},"isShuttingDown":false},"sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: [debug] [REMOTE] Frame navigated, calling cbs
info: [debug] [REMOTE] Waiting for dom...
info: [debug] [REMOTE] Page loaded, verifying whether ready through readyState
info: [debug] [REMOTE] Checking document readyState
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Remote debugger data sent [{"method":"Runtime.evaluate","params":{"objectGroup":"console","includeCommandLineAPI":true,"doNotPauseOnExceptionsAndMuteConsole":true,"expression":"(function (){return document.readyState;})()","ret...]
Debugger web socket received data :  {"result":{"result":{"type":"string","value":"complete"},"wasThrown":false},"id":2}
info: [debug] [REMOTE] readyState was complete
info: [debug] [REMOTE] Page is ready, calling onload cbs
info: [debug] Responding to client with success: {"status":0,"value":"","sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: <-- POST /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/url 200 2040.351 ms - 74 {"status":0,"value":"","sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: --> POST /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/execute {"script":"window.name = \"NG_DEFER_BOOTSTRAP!\" + window.name;window.location.replace(\"http://10.36.160.234:8080/portalserver/spring/index#\");","args":[]}
info: [debug] [REMOTE] Executing 'execute_script' atom in default context
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Remote debugger data sent [{"method":"Runtime.evaluate","params":{"objectGroup":"console","includeCommandLineAPI":true,"doNotPauseOnExceptionsAndMuteConsole":true,"expression":"(function(){return function(){var g=this;\nfunctio...]
Debugger web socket received data :  {"result":{"result":{"type":"object","value":{"status":0,"value":null}},"wasThrown":false},"id":3}
info: [debug] Responding to client with success: {"status":0,"value":null,"sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: <-- POST /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/execute 200 21.480 ms - 76 {"status":0,"value":null,"sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: --> POST /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/execute {"script":"return window.location.href;","args":[]}
info: [debug] [REMOTE] Executing 'execute_script' atom in default context
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Remote debugger data sent [{"method":"Runtime.evaluate","params":{"objectGroup":"console","includeCommandLineAPI":true,"doNotPauseOnExceptionsAndMuteConsole":true,"expression":"(function(){return function(){var g=this;\nfunctio...]
Debugger web socket received data :  {"result":{"result":{"type":"object","value":{"status":0,"value":"about:blank"}},"wasThrown":false},"id":4}
info: [debug] Responding to client with success: {"status":0,"value":"about:blank","sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: <-- POST /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/execute 200 19.557 ms - 85 {"status":0,"value":"about:blank","sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: --> POST /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/execute {"script":"return window.location.href;","args":[]}
info: [debug] [REMOTE] Executing 'execute_script' atom in default context
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Remote debugger data sent [{"method":"Runtime.evaluate","params":{"objectGroup":"console","includeCommandLineAPI":true,"doNotPauseOnExceptionsAndMuteConsole":true,"expression":"(function(){return function(){var g=this;\nfunctio...]
Debugger web socket received data :  {"result":{"result":{"type":"object","value":{"status":0,"value":"http://10.36.160.234:8080/portalserver/spring/index#"}},"wasThrown":false},"id":5}
info: [debug] Responding to client with success: {"status":0,"value":"http://10.36.160.234:8080/portalserver/spring/index#","sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: <-- POST /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/execute 200 22.422 ms - 126 {"status":0,"value":"http://10.36.160.234:8080/portalserver/spring/index#","sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: --> POST /wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/execute_async {"script":"try { return (function (attempts, asyncCallback) {\n  var callback = function(args) {\n    setTimeout(function() {\n      asyncCallback(args);\n    }, 0);\n  };\n  var check = function(n) {\n    try {\n      if (window.angular && window.angular.resumeBootstrap) {\n        callback([true, null]);\n      } else if (n < 1) {\n        if (window.angular) {\n          callback([false, 'angular never provided resumeBootstrap']);\n        } else {\n          callback([false, 'retries looking for angular exceeded']);\n        }\n      } else {\n        window.setTimeout(function() {check(n - 1);}, 1000);\n      }\n    } catch (e) {\n      callback([false, e]);\n    }\n  };\n  check(attempts);\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":[10]}
info: [debug] Response url for executeAsync is http://0.0.0.0:4724/wd/hub/session/0cdf0798-8a56-403e-8554-33bff0f27c59/receive_async_response
info: [debug] [REMOTE] Executing atom in default context
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Remote debugger data sent [{"method":"Runtime.evaluate","params":{"objectGroup":"console","includeCommandLineAPI":true,"doNotPauseOnExceptionsAndMuteConsole":true,"expression":"(function(){return function(){var l=this;\nfunctio...]
Debugger web socket received data :  {"result":{"result":{"type":"undefined"},"wasThrown":false},"id":6}
info: --> GET /wd/hub/status {}
info: --> GET /wd/hub/status {}
info: --> GET /wd/hub/status {}
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: <-- GET /wdinfo: <-- GET /wd/hub/status 200 0.847 ms - 104 {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: <-- GET /wd/hub/status 200 1.006 ms - 104 {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
/hub/status 200 1.063 ms - 104 {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: <-- GET /wd/hub/status 200 1.256 ms - 104 {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: <-- GET /wd/hub/status 200 0.991 ms - 104 {"status":0,"value":{"build":{"version":"1.3.4","revision":"c8c79a85fbd6870cd6fc3d66d038a115ebe22efe"}}}
info: --> GET /wd/hub/status {}
info: [debug] Responding to client with success: {"status":0,"value":{"build":{"version":"1.3.4","revision":"7cd78df062b480dbde79331b320e6c7147af6788"},"isShuttingDown":false},"sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: <-- GET /wd/hub/status 200 0.955 ms - 178 {"status":0,"value":{"build":{"version":"1.3.4","revision":"7cd78df062b480dbde79331b320e6c7147af6788"},"isShuttingDown":false},"sessionId":"0cdf0798-8a56-403e-8554-33bff0f27c59"}
info: [debug] atom did not return yet, checking to see if we are blocked by an alert
info: [debug] Pushing command to appium work queue: "au.alertIsPresent()"
info: [debug] Sending command to instruments: au.alertIsPresent()

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions