

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 CodePipeline 測試階段中整合 AWS Device Farm
<a name="codepipeline"></a>

 您可以使用 [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/) 將 Device Farm 中設定的行動應用程式測試併入 AWS 受管的自動發行管道。您可以將管道的執行測試設定為隨需、排程，或做為持續整合流程的一部分。

下圖顯示持續整合流程，而每次推送遞交至儲存庫時，皆會進行 Android 應用程式建置和測試。若要建立此管道組態，請參閱 [教學：在推送至 GitHub 時建置及測試 Android 應用程式](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-codebuild-devicefarm.html)。

![\[在每次推送時，持續整合來自 GitHub 儲存庫的 Android 原始程式碼建置和測試設定。\]](http://docs.aws.amazon.com/zh_tw/devicefarm/latest/developerguide/images/codepipeline-push-build-test.png)



****  

|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| 1。設定 | 2. 新增定義 | 3. 推送 | 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 管理主控台 ，並在 https：//[https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/) 開啟 CodePipeline 主控台。

1. 選擇應用程式的發行管道。

1. 在測試階段面板中，選擇鉛筆圖示，然後選擇 **Action (動作)**。

1. 在 **Add action (新增動作)** 面板中，針對 **Action category (動作類別)**，選擇 **Test (測試)**。

1. 在 **​Action name (動作名稱)** 中，輸入名稱。

1. 在 **​Test provider (測試提供者)** 中，選擇 **​AWS Device Farm**。  
![\[\]](http://docs.aws.amazon.com/zh_tw/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_tw/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_tw/devicefarm/latest/developerguide/images/codepipeline-test-type.png)

1. 在剩餘欄位中，提供適用於您測試及應用程式類型的組態。

1. (選用) 在 **Advanced (進階)** 中，提供測試執行的詳細組態。  
![\[\]](http://docs.aws.amazon.com/zh_tw/devicefarm/latest/developerguide/images/codepipeline-advanced.png)

1. 在 **Input artifacts (輸入成品)** 中，選擇與管道中測試階段前階段輸出成品相符的輸入成品。  
![\[\]](http://docs.aws.amazon.com/zh_tw/devicefarm/latest/developerguide/images/codepipeline-input-artifact.png)

    在 CodePipeline 主控台中，將滑鼠暫留在管道圖表中的資訊圖示上，即可找到每個階段的輸出成品名稱。若您的管道是從 **​Source (來源)** 階段直接測試您的應用程式，請選擇 **​MyApp**​。若您的管道包含 **Build (建置)** 階段，請選擇 **MyAppBuild**。  
![\[\]](http://docs.aws.amazon.com/zh_tw/devicefarm/latest/developerguide/images/codepipeline-output-artifact.png)

1. 在面板底部，選擇 **​Add Action (新增動作)**。

1. 在 CodePipeline 窗格中，選擇**儲存管道變更**，然後選擇**儲存變更**。

1. 若要提交您的變更並啟動管道建置，請選擇 **​Release change (發行變更)**，然後選擇 **​Release (發行)**。