将 iOS XCTest 用户界面与 Device Farm 集成 - AWS Device Farm

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 iOS XCTest 用户界面与 Device Farm 集成

Device Farm 为 XCTest 用户界面测试框架提供支持。具体而言,Device Farm 支持同时使用 Objective-C 和 Swift 编写的 XCTest 用户界面测试。

XCTest 用户界面框架支持在 iOS 开发中进行用户界面测试,其基础是 XCTest。有关更多信息,请参阅 iOS Developer Library 中的 User Interface Testing

有关在 Device Farm 中进行测试的一般信息,请参阅在 AWS Device Farm 中测试框架和内置测试

按照以下说明将 Device Farm 与 iOS XCTest 用户界面测试框架集成。

准备好你的 iOS XCTest 用户界面测试

您可以为 XCTEST_UI 测试包上传.ipa.zip文件或文件。

.ipa文件是包含捆绑包格式的 iOS Runner 应用程序的应用程序档案。文件中不能包含其他.ipa文件。

如果你上传一个.zip文件,它可以直接包含 iOS Runner 应用程序,也可以包含一个.ipa文件。如果您想在测试期间使用其他.zip文件,也可以在文件中加入它们。例如,您可以在文件中加入诸如.xcworkspace或之类的文件.xctestrun,以便.xcodeproj.zip设备群上运行 XCUI 测试计划。有关如何运行测试计划的详细说明可在 XCUI 测试类型的默认测试规范文件中找到。

选项 1:创建 XCTest UI .ipa 软件包

yourAppNameUITest-runner.app 捆绑包是由 Xcode 在构建项目进行测试时生成的。您可在项目的 Products 目录中找到该捆绑包。

要创建.ipa 文件,请执行以下操作:

  1. 创建名为 Payload 的目录。

  2. 将您的应用程序目录添加到 Payload 目录。

  3. 将 Pay .zip load 目录存档到文件中,然后将文件扩展名更改为.ipa

以下文件夹结构显示了如何my-project-nameUITest-Runner.app将名为的示例应用程序打包为.ipa文件:

. └── my-project-nameUITest.ipa └── Payload (directory) └── my-project-nameUITest-Runner.app

选项 2:创建 XCTest 用户界面.zip 压缩包

Device Farm 会自动为您生成一个.xctestrun文件,用于运行完整的 XCTest 用户界面测试套件。如果你想在 Device Farm 上使用自己的.xctestrun文件,你可以将.xctestrun文件和应用程序目录压缩成一个.zip文件。如果您已经有测试包的.ipa文件,则可以将其包含在此处,而不是*-Runner.app

. └── swift-sample-UI.zip (directory) ├── my-project-nameUITest-Runner.app [OR] my-project-nameUITest.ipa ├── SampleTestPlan_2.xctestrun ├── SampleTestPlan_1.xctestrun └── (any other files)

如果你想在 Device Farm 上为 XCUI 测试运行 Xcode 测试计划,你可以创建一个 zip 文件,其中包含你的 my-project-nameUITest-runner.app 或 my-project-nameUITest. ip a 文件以及运行带有测试计划的 XCTEST_UI 所需的 xcode 源代码文件,包括或文件。.xcworkspace .xcodeproj

以下是使用.xcodeproj文件的 zip 示例:

. └── swift-sample-UI.zip (directory) ├── my-project-nameUITest-Runner.app [OR] my-project-nameUITest.ipa ├── (any directory) └── SampleXcodeProject.xcodeproj ├── Testplan_1.xctestplan ├── Testplan_2.xctestplan └── (any other source code files created by xcode with .xcodeproj)

以下是使用.xcworkspace文件的 zip 示例:

. └──swift-sample-UI.zip (directory) ├── my-project-nameUITest-Runner.app [OR] my-project-nameUITest.ipa └── (any directory) │ ├── SampleXcodeProject.xcodeproj │ ├── Testplan_1.xctestplan │ ├── Testplan_2.xctestplan | └── (any other source code files created by xcode with .xcodeproj) └── SampleWorkspace.xcworkspace └── contents.xcworkspacedata
注意

请确保您的 XCTest UI .zip 包中没有名为 “Payload” 的目录。

上传你的 iOS XCTest 用户界面测试

使用 Device Farm 控制台上传您的测试。

  1. 登录 DeviceFarm 控制台,网址为 https://console.aws.amazon.com/devicef arm。

  2. 在 Device Farm 导航面板上,选择移动设备测试,然后选择项目

  3. 在项目列表中,选择要将测试上传到的项目。

    提示

    您可以使用搜索栏按名称筛选项目列表。

    要创建项目,请按照 在 AWS Device Farm 中创建项目 中的说明操作。

  4. 选择 “创建运行”。

  5. “运行设置” 下的 “运行类型” 部分,选择 iOS 应用程序

  6. “选择应用程序” 下的 “应用程序选择选项” 部分,选择 “上传自己的应用程序”。然后,在 “上传应用程序” 下选择 “选择文件”。

  7. 浏览到并选择您的 iOS 应用程序文件。该文件必须是 .ipa 文件。

    注意

    确保为 iOS 设备 (而不是模拟器) 构建您的 .ipa 文件。

  8. 在 “配置测试” 下的 “选择测试框架” 部分中,选择 XCTest UI。然后,在 “上传应用程序” 下选择 “选择文件”。

  9. 浏览并选择包含您的 iOS XCTest 用户界面测试运行器的.ipa 或.zip 文件。

  10. 完成运行创建过程中的其余步骤。您将选择要测试的设备,并可以选择指定其他配置。

  11. 选择 “创建运行”。Device Farm 运行测试并在控制台中显示结果。