thaliproject / postcardapp

A sample app to demonstrate how to build Thali applications
MIT License
22 stars 5 forks source link

Fix Appium tests with iOS #126

Closed deadlyfingers closed 8 years ago

deadlyfingers commented 8 years ago

Appium tests are now working on Android. But after updating to Cordova 6 running Appium tests on iOS simulator have become flaky. Also instruments will now fail to launch / test app on iOS device. Tests exit after 'POST /session' desiredCapabilities command with message: Killed: 9

deadlyfingers commented 8 years ago

Creating Appium POC project with JXcore to test with Cordova 6

deadlyfingers commented 8 years ago

Seems to better error reporting using beta version of Appium: npm install -g appium@1.5.0-beta14 But looks like instruments can't communicate with device... Also got error with Android device with Appium beta: FATAL ERROR: invalid table size Allocation failed - process out of memory

deadlyfingers commented 8 years ago

In POC Cordova app I get error in test for 'POST /session/:sessionID/execute_async' command on iOS simulator: Original error: Error: SecurityError: DOM Exception 18

On iOS device appium error: Instruments exited with code 255 Instruments Usage Error : Specified target process is invalid: org.thaliproject.postcardapp

deadlyfingers commented 8 years ago

Started discussion around Cordova 6 on Appium - https://discuss.appium.io/t/appium-and-cordova-6-web-apps/8638

deadlyfingers commented 8 years ago

Need to modify tests that involve page changing with new Appium web driver - it now fails when the new page loads

Error: [waitForConditionInBrowser("document.querySelectorAll('div').length > 0",36000)] Error response status: 17, , JavaScriptError - An error occurred while executing user supplied JavaScript. Selenium error: javascript error: document unloaded while waiting for result
  (Session info: chrome=47.0.2526.100)
  (Driver info: chromedriver=2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b),platform=Mac OS X 10.10.5 x86_64)
deadlyfingers commented 8 years ago

Notes on fixing iOS tests broken after updating Cordova 6 / Appium 1.5 beta:

deadlyfingers commented 8 years ago

I now have all tests working again on iOS simulator!

There are Appium / instruments issues with iOS devices that can't be fixed here so I think we can close the issue.

Otherwise I have tried the standard iOS Webkit Debug Proxy, and the Appium recommend fork - https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/ios-webkit-debug-proxy.md http://appium.io/slate/en/master/?javascript#ios-webkit-debug-proxy