

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

# 在 CodePipeline 测试阶段集成 AWS Device Farm
<a name="codepipeline"></a>

 您可以使用 [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/) 将在 Device Farm 中配置的移动应用程序测试合并到 AWS 托管的自动化发布管道中。您可以将您的管道配置为按需、按计划或作为持续集成流程的一部分运行测试。

下图显示了在每次向存储库中提交推送时，在其中构建和测试 Android 应用程序的持续集成流程。要创建此工作流配置，请参阅[教程：推送到 Android 应用程序时构建和测试 GitHub](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-codebuild-devicefarm.html)。

![\[持续集成设置，用于在每次推送时从 GitHub 存储库构建和测试 Android 源代码。\]](http://docs.aws.amazon.com/zh_cn/devicefarm/latest/developerguide/images/codepipeline-push-build-test.png)



****  

|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| 1。配置 | 2。添加定义 | 3。Push | 4。构建和测试 | 5。报告 | 
| 配置管道资源 | 将构建和测试定义添加到程序包 | 将程序包推送到存储库 | 构建输出项目的应用程序构建和测试自动启动 | 查看测试结果 | 

要了解如何配置管道以便将已编译的应用程序（如 iOS `.ipa` 或 Android `.apk` 文件）作为其源进行持续测试，请参阅[教程：每次将 .ipa 文件上传到 Amazon S3 存储桶时测试 iOS 应用程序](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-codebuild-devicefarm-S3.html)。

## 配置 CodePipeline 为使用您的 Device Farm 测试
<a name="codepipeline-configure-tests"></a>

 在这些步骤中，我们假定您已[配置了一个 Device Farm 项目](how-to-create-project.md)并[创建了一个管道](https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-codepipeline.html)。该管道应配置了测试阶段，用于接收[输入项目](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html#welcome-introducing-artifacts)，此输入项目包含您的测试定义和编译的应用程序包文件。测试阶段输入项目可以是源代码或在管道中配置的构建阶段的输出项目。

**将 Device Farm 测试运行配置为 CodePipeline 测试操作**

1. 登录 AWS 管理控制台 并打开 CodePipeline 控制台，网址为[https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/)。

1. 为您的应用程序版本选择管道。

1. 在测试阶段面板中，选择铅笔图标，然后选择 **Action (操作)**。

1. 在 **Add action (添加操作)**窗格中，对于 **Action category (操作类别)**，选择 **Test (测试)**。

1. 在**操作名称**中输入名称。

1. 在**测试提供商**中，选择 **AWS Device Farm**。  
![\[\]](http://docs.aws.amazon.com/zh_cn/devicefarm/latest/developerguide/images/codepipeline-add-action.png)

1. 在**项目名称**中，选择现有的 Device Farm 项目或选择**创建新项目**。

1. 在 **Device pool (设备池)** 中，选择现有设备池或选择 **Create a new device pool (创建新的设备池)**。如果创建设备池，则需要选择一组测试设备。

1. 在 **App type (应用程序类型)**中，为您的应用程序选择平台。  
![\[\]](http://docs.aws.amazon.com/zh_cn/devicefarm/latest/developerguide/images/codepipeline-choose-test-provider.png)

1. 在 **App file path (应用程序文件路径)** 中，输入已编译的应用程序包的路径。路径相对于测试的输入项目的根。

1. 在 **Test type (测试类型)** 中，执行下列操作之一：
   + 如果使用其中一个内置 Device Farm 测试，请选择在 Device Farm 项目中配置的测试类型。
   + 如果不使用其中一个 Device Farm 内置测试，请在**测试文件路径**中输入测试定义文件的路径。路径相对于测试的输入项目的根。  
![\[\]](http://docs.aws.amazon.com/zh_cn/devicefarm/latest/developerguide/images/codepipeline-test-type.png)

1. 在其余字段中，提供适合测试和应用程序类型的配置。

1. （可选）在** Advanced (高级) **中，为您的测试运行提供详细的配置。  
![\[\]](http://docs.aws.amazon.com/zh_cn/devicefarm/latest/developerguide/images/codepipeline-advanced.png)

1. 在** Input artifacts (输入项目) **中，选择与管道测试阶段之前的那个阶段的输出项目相匹配的输入项目。  
![\[\]](http://docs.aws.amazon.com/zh_cn/devicefarm/latest/developerguide/images/codepipeline-input-artifact.png)

    在 CodePipeline 控制台中，将鼠标悬停在管道图中的信息图标上，可以找到每个阶段的输出工件的名称。如果您的管道直接从 S **ourc** e 阶段测试您的应用程序，请选择**MyApp**。如果您的管道包含**构建**阶段，请选择**MyAppBuild**。  
![\[\]](http://docs.aws.amazon.com/zh_cn/devicefarm/latest/developerguide/images/codepipeline-output-artifact.png)

1. 在面板底部，选择 **Add Action (添加操作)**。

1. 在 CodePipeline 窗格中，选择 “**保存管道更改**”，然后选择 “**保存更改**”。

1. 要提交所做的更改并开始管道构建，请选择**发布更改**，然后选择**发布**。