Reputation: 1
I am using mac OS X 10.12, Appium server 1.5.3 , xcode version 8.3. If I run the doctor then it shows the appium is installed correctly.
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor ✔ Xcode Command Line Tools are installed.
info AppiumDoctor ✔ DevToolsSecurity is enabled.
info AppiumDoctor ✔ The Authorization DB is set up properly.
info AppiumDoctor ✔ The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor ✔ HOME is set to: /Users/nishamendon
info AppiumDoctor ✔ ANDROID_HOME is set to: /Users/nishamendon/Library/Android/sdk
info AppiumDoctor ✔ JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
info AppiumDoctor ✔ adb exists at: /Users/nishamendon/Library/Android/sdk/platform-tools/adb
info AppiumDoctor ✔ android exists at: /Users/nishamendon/Library/Android/sdk/tools/android
info AppiumDoctor ✔ emulator exists at: /Users/nishamendon/Library/Android/sdk/tools/emulator
info AppiumDoctor ### Diagnostic completed, no fix needed. ###
info AppiumDoctor
info AppiumDoctor Everything looks good, bye!
info AppiumDoctor
But, if I start the appium server, and I try to launch the inspector I am getting an error unable to start Inspector with the below log.
[iOS] Error: The desired capabilities must include either an app or a bundleId for iOS
at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)
at IosDriver.validateDesiredCaps (lib/driver.js:409:14)
at IosDriver.callee$0$0$ (lib/basedriver/commands/session.js:14:8)
at tryCatch (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at invoke (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
at enqueueResult (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:185:17)
at Promise.F (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/$.export.js:30:36)
at AsyncIterator.enqueue (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:184:12)
at AsyncIterator.prototype.(anonymous function) [as next] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at Object.runtime.async (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:209:12)
at IosDriver.callee$0$0 [as createSession] (lib/basedriver/commands/session.js:8:46)
at IosDriver.createSession$ (lib/driver.js:40:16)
at tryCatch (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at invoke (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
at enqueueResult (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:185:17)
at Promise.F (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/$.export.js:30:36)
at AsyncIterator.enqueue (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:184:12)
at AsyncIterator.prototype.(anonymous function) [as next] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at Object.runtime.async (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:209:12)
at IosDriver.createSession (lib/driver.js:110:19)
at AppiumDriver.createSession$ (lib/appium.js:121:43)
at tryCatch (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at invoke (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
at enqueueR
esult (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:185:17)
at Promise.F (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/$.export.js:30:36)
at AsyncIterator.enqueue (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:184:12)
at AsyncIterator.prototype.(anonymous function) [as next] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at Object.runtime.async (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:209:12)
Upvotes: 0
Views: 9604
Reputation: 117
Add the desired capabilities for the app path as (for eg.) DesiredCapabilities.setCapability("app", "/Users/Library/Developer/Xcode/DerivedData/foldername/Build/Products/Debug-iphoneos/appname.app");
Also, you can open appium inspector of 1.5.3 just by opening appium GUI, keeping iOS icon selected and tapping inspector icon (don't tap 'Launch' in GUI) after starting appium (1.6+) server in terminal.
Refer: https://discuss.appium.io/t/how-to-launch-appium-inspector-on-appium-1-6-0-beta2-as-there-is-no-appium-app-file-for-that-beta/12448/16
Upvotes: 1
Reputation: 1194
You need to add the capabilitiy "app" or "bundleId".Because in your case it is not able to know which app it should launch.
capabilities.setCapability("app","path of your .app file");
Appium 1.5.3 is not compatible with xcode 8+. If you are already installed appium through terminal then launch the appium through terminal by running the command.
appium
This command will start the appium server.Don not use appium 1.5.3.
Refer the below link to know how to launch and run the appium from terminal after installing appium 1.6+
Upvotes: 0
Reputation: 117
The regenerator error occurs because xCode 8 works only with appium 1.6 +.
You can refer: https://github.com/appium/appium/issues/6845
Upvotes: 1