【问题标题】:Calabash-iOS and XcodeCalabash-iOS 和 Xcode
【发布时间】:2017-10-18 08:45:11
【问题描述】:

我正在尝试使用 Calabash-iOS 进行测试自动化。但我不知道 Xcode 在 Calabash 中的相关性。我下载了 Xcode 4.6.3, Ruby 1.9.3, cucumber 开始。我对如何使用 Xcode 进行自动化感到困惑。我有要测试的应用程序的 ipa 文件。 当我浏览时,给出了将葫芦框架放入您要测试的应用程序的步骤。为什么要这样做? Xcode 工具的具体用途是什么?我将使用 iPhone 进行测试,那么为什么需要 xcode。请解释一下。

【问题讨论】:

    标签: ios calabash


    【解决方案1】:

    Calabash 框架使用私有 Apple API 来合成触摸 事件。

    这就是为什么您需要将calabash.framework 包含到 .app 包中,然后才能针对应用程序运行您的场景。没有内置框架的 .ipa 将无法接受调用并根据您的场景做出反应。

    您需要 iOS 应用程序的源代码和 Xcode 以将 calabash.framework 集成到并构建新的 .app 包。根据setting-up-xcode-project 指令创建带有-cal 后缀的单独构建目标(注意-force_load "$(SRCROOT)/calabash.framework/calabash" -lstdc++ 指令,它会影响捆绑包的组织方式)。

    因此,您将无法获取通常部署到商店的 .ipa 文件,并针对它运行您的葫芦场景(除非 .ipa 是错误地或故意使用包含的框架构建的)。您可以检查您的 .ipa 天气是否包含框架:instructions here

    【讨论】:

      【解决方案2】:

      需要从 iOS 7 Xcode 开始,因为 calabash 需要使用 Instruments 启动应用程序(包含在 Xcode.app 包中)。

      【讨论】:

        【解决方案3】:

        calabash.framework 和您的项目之间的链接只是为了在您的应用启动时启动 Calabash iOS 服务器。 因此,当您在用于执行此操作的任何框架中编写代码并运行测试时,此过程将神奇地传达葫芦和您的测试。

        参考:Tutorial: Link Calabash in Debug config

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-21
          • 2014-10-22
          • 1970-01-01
          • 2014-03-30
          相关资源
          最近更新 更多