Hi ,there.
I would like to know how to test ios app which is built in Xcode 8.2.
My environment is the following situation.
PC:Mac
Appium DeskTop App:1.5.3
Appium Command line:1.6
I wrote the following command.
$ appium --default-capabilities '{"desiredCapabilities":{"platformName":"iOS","app":"/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxxxxxxxx-boxlvxbelckguqdbdssaptdnhkzk/Build/Products/Debug-iphonesimulator/xxxxxxxxxxx.app","platformVersion":"9.1","deviceName":"iPhone 6","bundleId":"xxxxx.xxxxx.xxxxx.xxxxx","automationName":"XCUITest"}}'
[Appium] Welcome to Appium v1.6.3
[Appium] Non-default server args:
[Appium] defaultCapabilities: { desiredCapabilities:
{ platformName: 'iOS',
app: '/Users/xxxxxxx/Library/Developer/Xcode/DerivedData/xxxxxxxxxxx-boxlvxbelckguqdbdssaptdnhkzk/Build/Products/Debug-iphonesimulator/xxxxxxxxxxx.app',
platformVersion: '9.1',
deviceName: 'iPhone 6',
bundleId: 'xxxx.xxxx.xxxx.xxxx',
automationName: 'XCUITest' } }
[Appium] Default capabilities, which will be added to each request unless overridden by desired capabilities:
[Appium] desiredCapabilities: { platformName: 'iOS',
app: '/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxxxxxxxx-boxlvxbelckguqdbdssaptdnhkzk/Build/Products/Debug-iphonesimulator/xxxxxxxxxxx.app',
platformVersion: '9.1',
deviceName: 'iPhone 6',
bundleId: 'xxxxx.xxxxx.xxxxx.xxxxx',
automationName: 'XCUITest' }
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
[HTTP] --> GET /wd/hub/status {}
[debug] [MJSONWP] Calling AppiumDriver.getStatus() with args: []
[debug] [MJSONWP] Responding to client with driver.getStatus() result: {"build":{"version":"1.6.3","revision":null}}
[HTTP] <-- GET /wd/hub/status 200 43 ms - 83
[HTTP] --> GET /wd/hub/sessions {}
[debug] [MJSONWP] Calling AppiumDriver.getSessions() with args: []
[debug] [MJSONWP] Responding to client with driver.getSessions() result: []
[HTTP] <-- GET /wd/hub/sessions 200 4 ms - 40
[HTTP] --> POST /wd/hub/session {"desiredCapabilities":{"platformName":"iOS","newCommandTimeout":"7200","app":"/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxxxxxxxx-boxlvxbelckguqdbdssaptdnhkzk/Build/Products/Debug-iphonesimulator/xxxxxxxxxxx.app","platformVersion":"9.1","deviceName":"iPhone 6","bundleId":"xxxxx.xxxxx.xxxxx.xxxxx","automationName":"Appium"}}
[debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{"platformName":"iOS","newCommandTimeout":"7200","app":"/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxxxxxxxx-boxlvxbelckguqdbdssaptdnhkzk/Build/Products/Debug-iphonesimulator/xxxxxxxxxxx.app","platformVersion":"9.1","deviceName":"iPhone 6","bundleId":"xxxxx.xxxxx.xxxxx.xxxxx","automationName":"Appium"},null,null,null,null]
[Appium] Creating new IosDriver session
[Appium] Capabilities:
[Appium] platformName: 'iOS'
[Appium] newCommandTimeout: '7200'
[Appium] app: '/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxxxxxxxx-boxlvxbelckguqdbdssaptdnhkzk/Build/Products/Debug-iphonesimulator/xxxxxxxxxxx.app'
[Appium] platformVersion: '9.1'
[Appium] deviceName: 'iPhone 6'
[Appium] bundleId: 'xxxxx.xxxxx.xxxxx.xxxxx'
[Appium] automationName: 'Appium'
[Appium] desiredCapabilities: { platformName: 'iOS',
app: '/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxxxxxxxx-boxlvxbelckguqdbdssaptdnhkzk/Build/Products/Debug-iphonesimulator/xxxxxxxxxxx.app',
platformVersion: '9.1',
deviceName: 'iPhone 6',
bundleId: 'xxxxx.xxxxx.xxxxx.xxxxx',
automationName: 'XCUITest' }
then i click inspector button.
I got the following error.
[debug] [iOS] IosDriver version: 1.13.2
[BaseDriver] Capability 'newCommandTimeout' changed from string ('7200') to integer (7200). This may cause unexpected behavior
[BaseDriver] The following capabilities were provided, but are not recognized by appium: desiredCapabilities.
[BaseDriver] Session created with session id: 28419194-d58d-4d9c-a781-93b40384daeb
[debug] [iOS] Xcode version set to 8.2.1
[iOS] SessionNotCreatedError: A new session could not be created. Details: Appium's IosDriver does not support xcode version 8.2.1. Apple has deprecated UIAutomation. Use the "XCUITest" automationName capability instead.
at IosDriver.createSession$ (../../lib/driver.js:130:28)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
{ SessionNotCreatedError: A new session could not be created. Details: Appium's IosDriver does not support xcode version 8.2.1. Apple has deprecated UIAutomation. Use the "XCUITest" automationName capability instead.
at IosDriver.createSession$ (../../lib/driver.js:130:28)
at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37) jsonwpCode: 33 }
[HTTP] <-- POST /wd/hub/session 500 151 ms - 245
How do i resolve?