Appium 无法从真实 iOS 设备上的 Eclipse 启动

Appium 无法从真实 iOS 设备上的 Eclipse 启动

我在 iOS 中运行 Appium 上的 eclipse 项目时遇到了问题。自从我开始在新的 Mac 上设置 iOS 以来,它一直是我头疼的问题,并且一直给我带来麻烦。几个星期以来,我甚至无法让它在检查器中工作。以前我只需要使用我的苹果开发者证书,但现在这似乎还不够。

我终于能够让 appium 检查器连接到 iOS,方法是转到 Xcode 中的产品 > 测试,在手机上手动安装 WebDriverAgentRunner。但当我尝试从我的 eclipse 项目运行时,它失败了。我知道这不是我的项目的问题,因为当我的同事从他们的计算机上运行它时,它运行良好。

这是我从 eclipse 获得的输出:

org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: The desired capabilities must include either an app or a bundleId for iOS
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'Powerleys-MacBook-Pro.local', ip: 'fe80:0:0:0:d9:262b:6818:287e%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '12.0.1'
Driver info: driver.version: AppiumDriver
remote stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: The desired capabilities must include either an app or a bundleId for iOS
    at getResponseForW3CError (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/protocol/errors.js:826:9)
    at asyncHandler (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-base-driver/lib/protocol/protocol.js:447:37)
    at process._tickCallback (internal/process/next_tick.js:68:7)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'Powerleys-MacBook-Pro.local', ip: 'fe80:0:0:0:d9:262b:6818:287e%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '12.0.1'
Driver info: driver.version: AppiumDriver

这是我的能力,其中删除了一些值:

  "deviceName": "iPhone",
"udid": <removed>
  "platformName": "iOS",
  "platformVersion": "11.2.6",
  "noReset": true,
  "bundleId": <removed>
  "automationName": "XCUITest",
  "showXcodeLog": true,
  "xcodeOrgId": <removed>
  "xcodeSigningId": "iPhone Developer",
  "appActivity": <removed>

这是我的版本号。可能是版本不兼容,但我不知道如何检查。

Appium 1.14.1
Xcode Version 10.1 (10B61)
Mac High Sierra 10.13.6

答案1

该日志包含问题的根本原因:

The desired capabilities must include either an app or a bundleId for iOS
  1. 如果应用程序没有安装在真正的 iOS 设备上 - 您需要设置app移动功能指向包含应用程序的 .ipa 文件的绝对位置,无论是在本地驱动器还是在网络上
  2. 如果应用程序安装在真正的 iOS 设备上 - 您需要设置bundleId能力与您的应用程序的价值捆绑包 ID

此外你还需要配置代码签名对于 WebDriverAgentRunner 应用程序(Appium 包的一部分),请查看Appium XCUITest 驱动程序真实设备设置文章了解更多详情。如果你不太熟悉该流程,并且没有 Apple 开发者帐户,使用Appium工作室它提供了简单的 GUI 向导,允许配置 Appium 的代码签名。

相关内容