将 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 文件中包含它们。例如,您可以在 .zip 文件中包含诸如 .xctestrun.xcworkspace.xcodeproj 之类的文件,以便在 Device Farm 上运行 XCUI 测试计划。XCUI 测试类型的默认测试规范文件中提供了关于如何运行测试计划的详细说明。

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

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

创建 .ipa 文件:

  1. 创建名为 Payload 的目录。

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

  3. 将 Payload 目录存档成一个 .zip 文件,然后将文件扩展名更改为 .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 运行测试并在控制台中显示结果。