【问题标题】:Run appium automation without code-signing无需代码签名即可运行 appium 自动化
【发布时间】:2018-12-12 03:07:50
【问题描述】:

为什么我不能在没有使用开发者证书签名的 ios 应用上运行 appium 脚本?例如,我想用 Yelp 之类的应用程序运行一个基本脚本,但我不能这样做,因为该应用程序没有代码签名。如果我有应用程序的包标识符但仍未签名,这是否可行。

具体错误:

[Xcode] 2018-07-06 17:00:40.418 xcodebuild[13062:696914] Error Domain=NSCocoaErrorDomain Code=260 "The file “WebDriverAgentRunner-Runner.app” couldn’t be opened because there is no such file." UserInfo={NSFilePath=/Users/shriamin/Library/Developer/Xcode/DerivedData/WebDriverAgent-brdadhpuduowllgivnnvuygpwhzy/Build/Products/Debug-iphoneos/WebDriverAgentRunner-Runner.app, NSUnderlyingError=0x7f7f693586e0 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
[Xcode] 2018-07-06 17:00:40.418 xcodebuild[13062:696914] Error Domain=IDETestOperationsObserverErrorDomain Code=6 "Early unexpected exit, operation never finished bootstrapping - no restart will be attempted" UserInfo={NSLocalizedDescription=Early unexpected exit, operation never finished bootstrapping - no restart will be attempted}
[Xcode] 
[Xcode] ** TEST EXECUTE FAILED **
[Xcode] 
[Xcode] 
[XCUITest] xcodebuild exited with code '65' and signal 'null'

注意:在真实设备上运行。

【问题讨论】:

  • 为什么你认为这是它无法运行的原因?有具体的错误信息吗?
  • 请提供一些堆栈跟踪,一些代码示例。
  • @BillHileman 好吧,这就是我记得的样子,但如果我错了,请告诉我我错了......我记得某些“默认应用”,如地图不需要签名,只有捆绑标识符。据我所知,其余的都需要代码签名。
  • 我从未遇到过这种情况,但我只使用过 Android 应用程序,而不是 ios。这些是ios应用吗?当您尝试运行脚本时遇到什么错误?你在什么环境下运行?
  • 今天早些时候,您的问题似乎在另一篇帖子中得到了不同的回答:stackoverflow.com/questions/51186493/…

标签: appium


【解决方案1】:

开发人员代码签名是一种确保没有身份不明的开发人员进行编码并尝试在各种设备上运行应用程序的方法。 (他们希望开发者自己注册)并避免在应用商店之外分发应用。

这是完成开发人员代码签名后的工作方式,您必须使用配置文件和证书,其中包括一组有限的设备,这些设备被授权运行具有这些证书和配置文件的应用程序。

Xcode IDE 的构建方式是,如果没有这些配置文件和证书,您将永远无法在物理设备上运行。这就是为什么需要开发人员代码唱歌的原因。

【讨论】:

  • 我还是不明白。如果开发人员说“我的应用程序未分发到系统 xyz”,那么没有真正的用户可以在该系统上运行该应用程序 - 没关系 appium .. 但是如果该应用程序经过签名认证可以在系统 123 上运行,那么为什么 appium 会阻止我从运行具有该工作配置的脚本?如果想要运行脚本的人也是应用程序的所有者,为什么 appium 会关心?没有意义。
  • 您得到的确切错误是什么?告诉我
  • WebDriverAgentRunner-Runner.app” 无法打开,因为没有这样的文件。”
  • 正如预期的那样,这不是您正在测试的应用程序的问题。要在 iOS 设备上运行测试,appium 使用 web deiver 代理。这不是代码签名的。您可以右键单击您正在使用的 appium 应用程序 > 显示包内容 > 搜索 xcode 项目 > 您将看到几个项目,包括 web deiver。现在打开 Web 驱动程序代理 xcode 项目并使用苹果开发者帐户对其进行代码签名。你可以google一下。
  • 我在 xcuitest 文档 here 上读到了这个错误 65。我尝试创建一个新的钥匙串,然后将此信息添加到功能字典中,但它仍然不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-16
相关资源
最近更新 更多