Appium v1.3.0 beta giving Could not parse plist file (as binary) error

Hi,
I have installed Xocde6.0 GM seed on OSX 10.10. I am also having Xcode5.1. I am using names of Xcodes as (Xcode2.app for xcode5.1) and Xcode.app for (xcode6) under my Applications folder. I am trying to run it in simulator. When i try to run my test through appium. app v.3.0 beta it gives following error:

info: Welcome to Appium v1.3.0-beta1 (REV 23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d)

info: Appium REST http interface listener started on 127.0.0.1:4723
info: [debug] Non-default server args: {“app”:“com.ex.application”,“address”:“127.0.0.1”,“deviceName”:“iPhone Retina (4-inch)”,“showSimulatorLog”:true,“defaultCommandTimeout”:7200}
warn: Deprecated server args: {"–show-sim-log":“use instead: --show-ios-log”}
info: Console LogLevel: debug

info: --> GET /wd/hub/status {}

info: [debug] Responding to client with success: {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}

info: <-- GET /wd/hub/status 200 23.006 ms - 110 {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}

info: --> GET /wd/hub/status {}

info: [debug] Responding to client with success: {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}

info: <-- GET /wd/hub/status 200 2.512 ms - 110 {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}

info: --> GET /wd/hub/status {}

info: [debug] Responding to client with success: {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}

info: <-- GET /wd/hub/status 200 2.403 ms - 110 {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}

info: --> GET /wd/hub/status {}

info: [debug] Responding to client with success: {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}
info: <-- GET /wd/hub/status 200 1.160 ms - 110 {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}

info: --> GET /wd/hub/status {}

info: [debug] Responding to client with success: {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}
info: <-- GET /wd/hub/status 200 1.864 ms - 110 {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}

info: --> GET /wd/hub/status {}

info: [debug] Responding to client with success: {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}
info: <-- GET /wd/hub/status 200 1.019 ms - 110 {“status”:0,“value”:{“build”:{“version”:“1.3.0-beta1”,“revision”:“23d1a76ed2dd52f0e0929d50dad9bfcaf232c51d”}}}
info: --> GET /wd/hub/sessions {}
info: [debug] Responding to client with success: {“status”:0,“value”:[]}
info: <-- GET /wd/hub/sessions 200 1.699 ms - 23 {“status”:0,“value”:[]}

info: --> POST /wd/hub/session {“desiredCapabilities”:{“platformName”:“iOS”,“platformVersion”:“7.1”,“newCommandTimeout”:“999999”,“automationName”:“Appium”,“deviceName”:“iPhone Retina (4-inch)”}}

info: Client User-Agent string: Appium (unknown version) CFNetwork/720.0.9 Darwin/14.0.0 (x86_64)

info: [debug] App is an iOS bundle, will attempt to run as pre-existing
info: [debug] Creating new appium session e54be6cc-334e-446d-955d-930dba384ae6
info: [debug] Removing any remaining instruments sockets

info: [debug] Cleaned up instruments socket /tmp/instruments_sock

info: [debug] Setting Xcode folder

info: [debug] Setting Xcode version

info: [debug] Setting iOS SDK Version

info: [debug] Getting sdk version from xcrun with a timeout

info: [debug] iOS SDK Version set to 7.1

info: [debug] Checking whether instruments supports our device string
info: [debug] Getting list of devices instruments supports

info: [debug] Instruments is at: /Applications/Xcode2.app/Contents/Developer/usr/bin/instruments

info: [debug] Getting device string from opts: {“forceIphone”:false,“forceIpad”:false,“xcodeVersion”:“5.1”,“iOSSDKVersion”:“7.1”,“deviceName”:“iPhone Retina (4-inch)”,“platformVersion”:“7.1”}

info: [debug] fixDevice is on
info: [debug] Final device string is: ‘iPhone Retina (4-inch) - Simulator - iOS 7.1’

info: [debug] Detecting automation tracetemplate
info: [debug] Not auto-detecting udid, running on sim
info: [debug] Could not parse plist file (as binary) at /Applications/Appium.app/Contents/Resources/node_modules/appium/com.ex.application/en.lproj/Localizable.strings
info: Will try to parse the plist file as XML
info: [debug] Could not parse plist file (as XML) at /Applications/Appium.app/Contents/Resources/node_modules/appium/com.ex.application/en.lproj/Localizable.strings
warn: Could not parse app Localizable.strings; assuming it doesn’t exist

parseFileSync() is deprecated. Use parseStringSync() instead.

info: [debug] Creating instruments
info: [debug] Preparing uiauto bootstrap
info: [debug] Dynamic bootstrap dir: /Users/divakarpatil/Library/Application Support/appium/bootstrap
info: [debug] Dynamic env: {“nodePath”:"/Applications/Appium.app/Contents/Resources/node/bin/node",“commandProxyClientPath”:"/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js",“instrumentsSock”:"/tmp/instruments_sock",“interKeyDelay”:null,“justLoopInfinitely”:false,“autoAcceptAlerts”:false}

info: [debug] Dynamic bootstrap code: // This file is automatically generated. Do not manually modify!

info: [debug] Dynamic bootstrap path: /Users/divakarpatil/Library/Application Support/appium/bootstrap/bootstrap-f5c7ac57830a593a.js

error: Could not set the device type in Info.plist

error: Failed to start an Appium session, err was: Error: ENOENT, no such file or directory ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/com.ex.application/Info.plist’

info: [debug] Reusing dynamic bootstrap: /Users/divakarpatil/Library/Application Support/appium/bootstrap/bootstrap-f5c7ac57830a593a.js
info: [debug] Getting device string from opts: {“forceIphone”:false,“forceIpad”:false,“xcodeVersion”:“5.1”,“iOSSDKVersion”:“7.1”,“deviceName”:“iPhone Retina (4-inch)”,“platformVersion”:“7.1”}
info: [debug] fixDevice is on
info: [debug] Final device string is: ‘iPhone Retina (4-inch) - Simulator - iOS 7.1’
info: [debug] We’re on iOS7.1+ so forcing defaultDevice on
info: [debug] Getting device string from opts: {“forceIphone”:false,“forceIpad”:false,“xcodeVersion”:“5.1”,“iOSSDKVersion”:“7.1”,“deviceName”:“iPhone Retina (4-inch)”,“platformVersion”:“7.1”}
info: [debug] fixDevice is on
info: [debug] Final device string is: ‘iPhone Retina (4-inch) - Simulator - iOS 7.1’
info: [debug] Could not parse plist file (as binary) at /Applications/Appium.app/Contents/Resources/node_modules/appium/com.ex.application/Info.plist
info: Will try to parse the plist file as XML
info: [debug] Could not parse plist file (as XML) at /Applications/Appium.app/Contents/Resources/node_modules/appium/com.ex.application/Info.plist
info: [debug] Cleaning up appium session
info: [debug] Error: ENOENT, no such file or directory ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/com.ex.application/Info.plist’
at Object.fs.openSync (fs.js:438:18)
at Object.fs.readFileSync (fs.js:289:15)
at Object.parseFileSync (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/plist/lib/node.js:47:18)
at Object.deprecated [as parseFileSync] (util.js:77:15)
at parseXmlPlistFile (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios.js:36:27)
at /Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios.js:48:7
at /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/bplist-parser/bplistParser.js:29:25
at fs.js:207:20
at Object.oncomplete (fs.js:107:15)
info: [debug] Responding to client with error: {“status”:33,“value”:{“message”:“A new session could not be created. (Original error: ENOENT, no such file or directory ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/com.ex.application/Info.plist’)”,“errno”:34,“code”:“ENOENT”,“path”:"/Applications/Appium.app/Contents/Resources/node_modules/appium/com.ex.application/Info.plist",“syscall”:“open”,“origValue”:“ENOENT, no such file or directory ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/com.ex.application/Info.plist’”},“sessionId”:null}

Thanks,
Divakar

Could you try it using the new v1.3.0

If the problem still exists, can you post is as a bug on the github repository?

Hi, the problem has been solved

1 Like

Hi,

Could you provide more details on how this issue is resolved? I am seeing the same issue with Appium 1.3.1 in Mac OSX 10.x

Thanks!!

Hi, make sure that your app is signed properly.

Thank You Divakar. I am able to resolve it by setting capabilities using code instead of GUI.

een branch in repository origin/master
Seen 1 remote branch
Checking out Revision 9bc0a8b1a24715fe0ddb8623ae5080cc9d2fce74 (origin/master)

git config core.sparsecheckout # timeout=10
git checkout -f 9bc0a8b1a24715fe0ddb8623ae5080cc9d2fce74
First time build. Skipping changelog.
[ios] $ /bin/bash /var/folders/hm/l1nmp7t15t9bfbs15gxydm7w0000gn/T/hudson4991529958658069072.sh
Invalid requirement: ‘IOS SDK==9.2’
Traceback (most recent call last):
File “/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip/req/req_install.py”, line 76, in init
req = pkg_resources.Requirement.parse(req)
File “/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip/_vendor/pkg_resources/init.py”, line 3036, in parse
req, = parse_requirements(s)
File “/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip/_vendor/pkg_resources/init.py”, line 2980, in parse_requirements
“version spec”)
File “/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip/_vendor/pkg_resources/init.py”, line 2945, in scan_list
raise RequirementParseError(msg, line, “at”, line[p:])
pip._vendor.pkg_resources.RequirementParseError: Expected version spec in IOS SDK==9.2 at SDK==9.2

You are using pip version 8.0.2, however version 8.1.0 is available.
You should consider upgrading via the ‘pip install --upgrade pip’ command.
e[36minfoe[39m: Welcome to Appium v1.4.13 (REV c75d8adcb66a75818a542fe1891a34260c21f76a)
e[36minfoe[39m: Appium REST http interface listener started on 127.0.0.1:4723
e[36minfoe[39m: [debug] Non-default server args: {“app”:“Handstand.app”,“address”:“127.0.0.1”,“bootstrapPort”:4725,“sessionOverride”:true,“noReset”:true,“localTimezone”:true,“nativeInstrumentsLib”:true,“platformName”:“iOS”,“platformVersion”:“9.0”,“orientation”:“Portrait”,“showIOSLog”:true,“chromeDriverPort”:9516,“defaultCommandTimeout”:7200,“debugLogSpacing”:true}
e[36minfoe[39m: Console LogLevel: debug
e[36minfoe[39m: e[37m–>e[39m e[37mPOSTe[39m e[37m/wd/hub/sessione[39m e[90m{“desiredCapabilities”:{“platformVersion”:“9.0”,“autoAcceptAlerts”:“true”,“platformName”:“iOS”,“deviceName”:“iPhone 6s”}}e[39m
e[36minfoe[39m: Client User-Agent string: Python-urllib/2.7
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: **** NEW SESSION ***
e[36minfoe[39m: **** NEW SESSION ***
e[36minfoe[39m: **** NEW SESSION ***
e[36minfoe[39m: **** NEW SESSION ***
e[36minfoe[39m: **** NEW SESSION ***
e[36minfoe[39m: **** NEW SESSION ***
e[36minfoe[39m: **** NEW SESSION ***
e[36minfoe[39m: **** NEW SESSION ***
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[36minfoe[39m: *************************************
e[33mwarne[39m: Converting cap autoAcceptAlerts from string to boolean. This might cause unexpected behavior.
e[36minfoe[39m: [debug] App is an iOS bundle, will attempt to run as pre-existing
e[36minfoe[39m: [debug] Creating new appium session 7c514e2d-cb85-4230-982c-3e47ac1c5b6e
e[36minfoe[39m: [debug] Removing any remaining instruments sockets
e[36minfoe[39m: [debug] Cleaned up instruments socket /tmp/instruments_sock
e[36minfoe[39m: [debug] Setting Xcode version
e[36minfoe[39m: [debug] Xcode version set to 7.2
e[36minfoe[39m: [debug] Setting iOS SDK Version
e[36minfoe[39m: [debug] iOS SDK Version set to 9.2
e[36minfoe[39m: [debug] Checking whether instruments supports our device string
e[36minfoe[39m: [debug] Getting list of devices instruments supports
e[36minfoe[39m: [debug] Instruments is at: /Applications/Xcode.app/Contents/Developer/usr/bin/instruments
e[36minfoe[39m: [debug] Getting device string from opts: {“forceIphone”:false,“forceIpad”:false,“xcodeVersion”:“7.2”,“iOSSDKVersion”:“9.2”,“deviceName”:“iPhone 6s”,“platformVersion”:“9.0”}
e[36minfoe[39m: [debug] fixDevice is on
e[36minfoe[39m: [debug] Final device string is: ‘iPhone 6s (9.0)’
e[36minfoe[39m: [debug] iOS sim UDID is 7BD7A7EA-3273-4C03-8DD4-A52FAAA2FF11
e[36minfoe[39m: [debug] Auto-detecting iOS udid…
e[36minfoe[39m: [debug] Not auto-detecting udid, running on sim
e[36minfoe[39m: [debug] Could not parse plist file (as binary) at /Applications/Appium.app/Contents/Resources/node_modules/appium/Handstand.app/en.lproj/Localizable.strings
e[36minfoe[39m: Will try to parse the plist file as XML
e[36minfoe[39m: [debug] Could not parse plist file (as XML) at /Applications/Appium.app/Contents/Resources/node_modules/appium/Handstand.app/en.lproj/Localizable.strings
e[33mwarne[39m: Could not parse app Localizable.strings assuming it doesn’t exist
e[36minfoe[39m: [debug] Creating instruments
e[36minfoe[39m: [debug] Preparing uiauto bootstrap
e[36minfoe[39m: [debug] Dynamic bootstrap dir: /Users/chennareddy/Library/Application Support/appium/bootstrap
e[36minfoe[39m: [debug] Dynamic env: {“nodePath”:“/Applications/Appium.app/Contents/Resources/node/bin/node”,“commandProxyClientPath”:“/Applications/Appium.app/Contents/Resources/node_modules/appium/submodules/appium-uiauto/bin/command-proxy-client.js”,“instrumentsSock”:“/tmp/instruments_sock”,“interKeyDelay”:null,“justLoopInfinitely”:false,“autoAcceptAlerts”:true,“autoDismissAlerts”:false,“sendKeyStrategy”:“oneByOne”}
e[36minfoe[39m: [debug] Dynamic bootstrap code: // This file is automatically generated. Do not manually modify!

e[36minfoe[39m: [debug] Dynamic bootstrap path: /Users/chennareddy/Library/Application Support/appium/bootstrap/bootstrap-9a1136664d01e391.js
e[36minfoe[39m: [debug] Reusing dynamic bootstrap: /Users/chennareddy/Library/Application Support/appium/bootstrap/bootstrap-9a1136664d01e391.js
e[36minfoe[39m: [debug] Getting device string from opts: {“forceIphone”:false,“forceIpad”:false,“xcodeVersion”:“7.2”,“iOSSDKVersion”:“9.2”,“deviceName”:“iPhone 6s”,“platformVersion”:“9.0”}
e[36minfoe[39m: [debug] fixDevice is on
e[36minfoe[39m: [debug] Final device string is: ‘iPhone 6s (9.0)’
e[36minfoe[39m: [debug] We’re on iOS7.1+ so forcing defaultDevice on
e[36minfoe[39m: [debug] Getting device string from opts: {“forceIphone”:false,“forceIpad”:false,“xcodeVersion”:“7.2”,“iOSSDKVersion”:“9.2”,“deviceName”:“iPhone 6s”,“platformVersion”:“9.0”}
e[36minfoe[39m: [debug] fixDevice is on
e[36minfoe[39m: [debug] Final device string is: ‘iPhone 6s (9.0)’
e[36minfoe[39m: [debug] Could not parse plist file (as binary) at /Applications/Appium.app/Contents/Resources/node_modules/appium/Handstand.app/Info.plist
e[36minfoe[39m: Will try to parse the plist file as XML
e[36minfoe[39m: [debug] Could not parse plist file (as XML) at /Applications/Appium.app/Contents/Resources/node_modules/appium/Handstand.app/Info.plist
e[31merrore[39m: Could not set the device type in Info.plist
e[36minfoe[39m: [debug] Cleaning up appium session
e[31merrore[39m: Failed to start an Appium session, err was: Error: ENOENT, no such file or directory ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/Handstand.app/Info.plist’
e[36minfoe[39m: [debug] Error: ENOENT, no such file or directory ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/Handstand.app/Info.plist’
at Error (native)
at Object.fs.openSync (fs.js:500:18)
at Object.fs.readFileSync (fs.js:352:15)
at parseXmlPlistFile (/Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios.js:38:25)
at /Applications/Appium.app/Contents/Resources/node_modules/appium/lib/devices/ios/ios.js:51:7
at /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/bplist-parser/bplistParser.js:37:25
at fs.js:263:20
at FSReqWrap.oncomplete (fs.js:95:15)
e[36minfoe[39m: [debug] Responding to client with error: {“status”:33,“value”:{“message”:“A new session could not be created. (Original error: ENOENT, no such file or directory ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/Handstand.app/Info.plist’)”,“errno”:-2,“code”:“ENOENT”,“path”:“/Applications/Appium.app/Contents/Resources/node_modules/appium/Handstand.app/Info.plist”,“syscall”:“open”,“origValue”:“ENOENT, no such file or directory ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/Handstand.app/Info.plist’”},“sessionId”:null}
Process Process-2:
Traceback (most recent call last):
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py”, line 258, in _bootstrap
self.run()
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py”, line 114, in run
self._target(*self._args, **self._kwargs)
File “/Users/chennareddy/.jenkins/workspace/ios/booking_simulator.py”, line 11, in init
e[36minfoe[39m: e[37m<-- POST /wd/hub/session e[39me[31m500e[39me[90m 10587.448 ms - 512e[39m e[90me[39m
self.setUp()
File “/Users/chennareddy/.jenkins/workspace/ios/booking_simulator.py”, line 21, in setUp
‘deviceName’: ‘iPhone 6s’ })
File “/usr/local/bin/appium/webdriver/webdriver.py”, line 36, in init
super(WebDriver, self).init(command_executor, desired_capabilities, browser_profile, proxy, keep_alive)
File “/usr/local/bin/selenium-2.48.0-py2.7.egg/selenium/webdriver/remote/webdriver.py”, line 87, in init
self.start_session(desired_capabilities, browser_profile)
File “/usr/local/bin/selenium-2.48.0-py2.7.egg/selenium/webdriver/remote/webdriver.py”, line 141, in start_session
‘desiredCapabilities’: desired_capabilities,
File “/usr/local/bin/selenium-2.48.0-py2.7.egg/selenium/webdriver/remote/webdriver.py”, line 201, in execute
self.error_handler.check_response(response)
File “/usr/local/bin/selenium-2.48.0-py2.7.egg/selenium/webdriver/remote/errorhandler.py”, line 181, in check_response
raise exception_class(message, screen, stacktrace)
WebDriverException: Message: A new session could not be created. (Original error: ENOENT, no such file or directory ‘/Applications/Appium.app/Contents/Resources/node_modules/appium/Handstand.app/Info.plist’)