【问题标题】:xCode Archiving ipa with UITesting for AWS Device farmxCode 使用 UITesting 为 AWS 设备场归档 ipa
【发布时间】:2016-05-12 10:45:23
【问题描述】:

我正在为 UITesting 做,我已经尝试过 Jenkins。我计划尝试 AWS 设备场。

http://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types-ios-xctest-ui.html#test-types-ios-xctest-ui-prepare

它是这样说的。

在将 iOS XCTest UI 测试上传到 Device Farm 进行测试之前,请先制作 确保您的 iOS XCTest UI 测试运行程序包包含在 正确格式化的 .ipa 文件。要创建 .ipa 文件,您可以将 你的 my-project-nameUITest-Runner.app 捆绑在一个空的 Payload 中 目录。接下来,将 Payload 目录归档为 .zip 文件,然后 然后将文件扩展名更改为 .ipa。 *UITest-Runner.app 包 由 Xcode 在您构建项目进行测试时生成,它 可以在项目的 Products 目录中找到。

我不明白这一点。如何归档以便我的 UITesting 与 ipa 文件一起使用?我确实喜欢这个(如下图所示),并且不能在 aws 设备场上进行测试。

已编辑

我尝试了以下方法,但仍然遇到问题。我需要上传 ipa 文件 2 次。第一次和第二次需要上传什么样的 ipa 文件?

【问题讨论】:

    标签: ios xcode amazon-web-services jenkins


    【解决方案1】:

    我在 AWS Device Farm 团队工作。

    @ThrowingSpoon 正确解释了测试的存档部分。

    1. Device Farm 需要您的应用程序和 .ipa 文件形式的测试。应用程序和测试将是两个单独的上传。在您发布的屏幕截图中,您可以看到左侧的 5 个步骤。第一次上传是您的应用程序 ipa,第二次上传是您在步骤 2 中的测试。
    2. 对于您的应用程序,这是通过 Xcode 进行的直接过程。归档您的应用并使用 show in finder 找到 ipa。
    3. 对于您的测试,Xcode 不会生成您的测试的 ipa,因此我们必须创建一个。
    4. 首先构建您的项目进行测试。
    5. *UITest-Runner.app 包将由 Xcode 在 Products 目录下为您的项目生成。
    6. 创建一个空的“Payload”(区分大小写)文件夹并在“Payload”下添加 *UITest-Runner.app。
    7. 右键单击 Payload 文件夹并将其压缩为 zip 文件。
    8. 将 .zip 文件重命名为 .ipa(它可能会询问您是否要保留扩展名,接受它)
    9. 形成的 .ipa 是您在发布的屏幕截图的第 2 步中上传的内容。

    希望能澄清您的疑问。

    【讨论】:

    • 构建测试后我没有看到 *UITest-Runner.app。
    • 如何准备应用程序 IPA 文件。我将创建 IPA 文件 AppStore、AdHoc 或 Development profile 哪个证书? NikofTime
    • @NikofTime 在 Xcode 10 中,无法使用 Show in Finder 找到 ipa。只有“分发应用程序”选项有“iOA App Store”、“Ad Hoc”、“企业”和“开发”选项。这是正确的分配方法。这在 AWS 文档中不存在。
    • 我已经让它与“开发”部署一起工作。完成后会显示一个“导出”按钮,该按钮会保存一个 ipa 文件,该文件可以通过 Device Farm 的 UI 上传。
    【解决方案2】:

    我写了一篇关于如何准备测试以在 AWS Device Farm 上运行的教程,请查看分步方法。 http://mobdesignapps.fr/blog/2016/9/17/running-your-test-on-aws-device-farm?utm_source=stackoverflow&utm_medium=answer&utm_term=37184633

    您需要上传的第一个文件是您通过选择“项目”>“存档”构建的应用程序存档。第二个是包含您的测试的 IPA。您可以在我的博文中找到有关如何生成它的步骤。

    短版是:

    1. 选择您的测试目标并选择 Project > Build For testing
    2. *UITest-Runner.app 包将由 Xcode 在派生数据文件夹的 Products 目录下生成。
    3. 创建一个空的“Payload”(区分大小写)文件夹并添加 *UITest-Runner.app 在“有效载荷”下。
    4. 右键单击 Payload 文件夹并将其压缩为 zip 文件。
    5. 将 .zip 文件重命名为 .ipa

    【讨论】:

      【解决方案3】:

      当说明说归档时,我认为它只是意味着压缩

      流程应该是:

      1. 构建您的测试项目
      2. 将 my-project-nameUITest-Runner.app 包放入一个空文件夹
      3. 右键新建文件夹并将其压缩为 zip
      4. 将 zip 重命名为 ipa(OSX 可能会警告您文件可能已损坏)

      我觉得 OSX 过去常说 archive 他们一定在某个时候改变了它。

      【讨论】:

      • 谢谢。我还是有问题。我在我的问题中上传了新照片。我需要上传 ipa 文件两次。我应该上传什么样的文件?
      • 我会检查 ipa 内的目录布局是否正确。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多