ios - 错误 : The desired capabilities must include either an app or a bundleId for iOS

标签 ios appium-ios

我使用的是 mac OS X 10.12,Appium 服务器 1.5.3,xcode 版本 8.3。如果我运行医生,它会显示 appium 已正确安装。

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 

但是,如果我启动 appium 服务器,并尝试启动检查器,我会收到无法使用以下日志启动检查器的错误。

    [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)

最佳答案

regenerator 错误的发生是因为 xCode 8 只适用于 appium 1.6+。

可以引用:https://github.com/appium/appium/issues/6845

关于ios - 错误 : The desired capabilities must include either an app or a bundleId for iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44030274/

相关文章:

ios - 确定引入日期/Swift 组件的 Swift 版本

xamarin - 示例 Xamarin 应用程序在 iPhone 模拟器上崩溃

Appium 支持 Xcode 8

iOS 在 vi​​ewcontroller 启动前添加观察者

ios - 如何覆盖子类的快速协议(protocol)函数(例如 UIView 的 UILabel)

python - 断言显示 iOS 元素时有哪些最佳实践?

python - 阿皮姆 : Getting exception while running tests

javascript - 如何使用 iOS appium 的 UI Automation JavaScript Reference 获取 native 应用程序字体类型或样式

ios - Meteor 应用程序和 iOS 状态栏

iphone - 在一个 UITableView 问题中调用两个不同的自定义单元格