

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

# 将 Device Farm 与 XCTest 适用于 iOS 的集成
<a name="test-types-ios-xctest"></a>

借助 Device Farm，您可以使用该 XCTest 框架在真实设备上测试您的应用程序。有关更多信息 XCTest，请参阅《*使用 Xcode 进行测试》中的测试*[基础知识](https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/03-testing_basics.html)。

要运行测试，请为测试运行创建程序包，然后将这些程序包上传到 Device Farm。

有关 Device Farm 中测试的更多信息，请参阅 [AWS Device Farm 中的测试框架和内置测试](test-types.md)。

**Topics**
+ [为你的 XCTest 跑步创建软件包](#test-types-ios-xctest-create-packages)
+ [将你的 XCTest 跑步包上传到 Device Farm](#test-types-ios-xctest-upload)

## 为你的 XCTest 跑步创建软件包
<a name="test-types-ios-xctest-create-packages"></a>

要使用该 XCTest 框架测试您的应用程序，Device Farm 需要满足以下条件：
+ 您的应用程序包采用 `.ipa` 文件形式。
+ 您的 XCTest 包裹作为`.zip`文件。

您可以使用 Xcode 生成的构建输出来创建这些程序包。完成以下步骤以创建程序包，以便您可以将它们上传到 Device Farm。

**要为您的应用程序生成构建输出**

1. 在 Xcode 中打开应用程序项目。

1. 在 Xcode 工具栏的方案下拉菜单中，选择 **Generic iOS Device (常规 iOS 设备)** 作为目的地。

1. 在 **Product (产品)** 菜单中，选择 **Build For (构建属于)**，然后选择 **Testing (测试)**。

**创建应用程序包**

1. 在 Xcode 中的项目导航器的 **Products (产品)** 下，打开针对名为 `{{app-project-name}}.app` 的文件的上下文菜单。然后，选择 **Show in Finder (在 Finder 中显示)**。Finder 打开一个名为 `Debug-iphoneos` 的文件夹，其中包含 Xcode 为您的测试构建生成的输出。此文件夹包含您的 `.app` 文件。

1. 在 Finder 中，创建一个新文件夹，并将其命名为 `Payload`。

1. 复制 `{{app-project-name}}.app` 文件，然后将它粘贴到 `Payload` 文件夹中。

1. 打开 `Payload` 文件夹的上下文菜单，然后选择 **Compress "Payload" (压缩“负载”)**。此时会创建名为 `Payload.zip` 的文件。

1. 将文件夹名和扩展名 `Payload.zip` 更改为 `{{app-project-name}}.ipa`。

   在稍后的步骤中，您将此文件提供给 Device Farm。要使文件更易于查找，您可能需要将其移动到其他位置，例如桌面。

1. 或者，您可以删除 `Payload` 文件夹以及其中的 `.app` 文件。

**创建 XCTest 软件包**

1. 在 Finder 的 `Debug-iphoneos` 目录中，打开 `{{app-project-name}}.app` 文件的上下文菜单。然后，选择 **Show Package Contents (显示程序包内容)**。

1. 在程序包内容中，打开 `Plugins` 文件夹。此文件夹包含名为 `{{app-project-name}}.xctest` 的文件。

1. 打开此文件的上下文菜单，然后选择 **Compress "`{{app-project-name}}.xctest`" (压缩“app-project-name.xctest”)**。此时会创建名为 `{{app-project-name}}.xctest.zip` 的文件。

   在稍后的步骤中，您将此文件提供给 Device Farm。要使文件更易于查找，您可能需要将其移动到其他位置，例如桌面。

## 将你的 XCTest 跑步包上传到 Device Farm
<a name="test-types-ios-xctest-upload"></a>

使用 Device Farm 控制台上传用于您的测试的程序包。

1. 登录 DeviceFarm 控制台，网址为 [https://console.aws.amazon.com/devicef](https://console.aws.amazon.com/devicefarm) arm。

1. 如果您还没有项目，请创建一个项目。有关创建项目的步骤，请参阅[在 AWS Device Farm 中创建项目](how-to-create-project.md)。

   否则，在 Device Farm 导航面板上，选择**移动设备测试**，然后选择**项目**。

1. 选择要用于运行测试的项目。

1. 选择**创建运行**。

1. 在**运行设置**下的**运行类型**部分中，选择 **iOS 应用程序**。

1. 在**选择应用程序**下的**应用程序选择选项**部分中，选择**上传自己的应用程序**。然后，在**上传应用程序**下，选择**选择文件**。

1. 浏览到用于您的应用程序的 `.ipa` 文件并上传它。
**注意**  
必须构建 `.ipa` 程序包以进行测试。

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

1. 浏览到包含您的应用程序 XCTest 包`.zip`的文件并将其上传。

1. 完成项目创建过程中的其余步骤。您将选择要在其上进行测试的设备并指定设备状态。

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