hello dduphorn, my friend
Thanks for your solution! I have Appium 1.6.3 and OS Sierra 10.12.2
Unfortunately I have a problem with your code
1) I run appium server from Java by using your code
2) I run iOS driver from Java by using: driver = new IOSDriver(url, capabilities);
3) Program crashes with following errors:
[XCUITest] Error: Command 'idevice_id -l' errored out: Error: spawn idevice_id ENOENT
...
Error: Command 'idevice_id -l' errored out: Error: spawn idevice_id ENOENT
...
[debug] [XCUITest] Reset not set, not ending sim
[MJSONWP] Encountered internal error running command: Error: Command 'idevice_id -l' errored out: Error: spawn idevice_id ENOENT
...
[HTTP] <-- POST /wd/hub/session 500 246 ms - 521
Jan 08, 2017 10:45:25 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Falling back to original OSS JSON Wire Protocol.
...
[BaseDriver] Session created with session id: 6d3bfa8b-fb6b-4330-a824-90d13a00b1b1
[debug] [XCUITest] Xcode version set to '8.2.1'
[debug] [XCUITest] iOS SDK Version set to '10.2'
[XCUITest] Error: Command 'idevice_id -l' errored out: Error: spawn idevice_id ENOENT
...
Error: Command 'idevice_id -l' errored out: Error: spawn idevice_id ENOENT
...
[debug] [XCUITest] Reset not set, not ending sim
[MJSONWP] Encountered internal error running command: Error: Command 'idevice_id -l' errored out: Error: spawn idevice_id ENOENT
...
[HTTP] <-- POST /wd/hub/session 500 109 ms - 521
Jan 08, 2017 10:50:06 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Falling back to straight W3C remote end connection
...
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session.
...
Driver info: driver.version: IOSDriver
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:91)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:69)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)
at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
at io.appium.java_client.ios.IOSDriver.execute(IOSDriver.java:1)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:241)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:128)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:141)
at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:38)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:83)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:93)
at io.appium.java_client.ios.IOSDriver.(IOSDriver.java:75)
at io.appium.iOSTestingSystem.App.driver_start(App.java:179)
at io.appium.iOSTestingSystem.App.main(App.java:86)
Second scenario:
1) I run appium server from mac os terminal by using "appium" command
2) I run iOS driver by using the same my Java code : driver = new IOSDriver(url, capabilities);
3) Program DOESN'T crash
Do you know where is the bug?