

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

# 將測試從標準遷移至自訂測試環境
<a name="custom-test-environment-migration"></a>

您可以從標準測試執行模式切換到 AWS Device Farm 中的自訂執行模式。遷移主要涉及兩種不同的執行形式：

1. **標準模式**：此測試執行模式主要是為了為客戶提供精細的報告和全受管環境。

1. **自訂模式**：此測試執行模式適用於需要更快速執行測試、能夠提升和轉移並實現與其本機環境同位，以及即時影片串流的不同使用案例。

如需 Device Farm 中標準和自訂模式的詳細資訊，請參閱 [在 AWS Device Farm 中測試環境](test-environments.md)和 [AWS Device Farm 中的自訂測試環境](custom-test-environments.md)。

## 移轉時的考量
<a name="considerations-when-migrating"></a>

本節列出遷移至自訂模式時要考慮的一些重要使用案例：

1. **速度**：在標準執行模式中，Device Farm 會使用特定架構的封裝指示，剖析您已封裝和上傳之測試的中繼資料。剖析會偵測套件中的測試數量。之後，Device Farm 會個別執行每個測試，並針對每個測試個別顯示日誌、影片和其他結果成品。不過，這會穩定地新增end-to-end測試執行總時間，因為服務端有測試和結果成品的預處理和後處理。

   相反地，自訂執行模式不會剖析您的測試套件；這表示測試或結果成品沒有預先處理和最少的後製處理。這會導致end-to-end執行時間總計接近您的本機設定。測試的執行格式與在本機機器上執行相同 （與它們相同）。測試結果與您從本機取得的結果相同，可在任務執行結束時下載。

1. **自訂或彈性**：標準執行模式會剖析您的測試套件，以偵測測試數量，然後分別執行每個測試。請注意，無法保證測試將按照您指定的順序執行。因此，需要特定執行序列的測試可能無法如預期般運作。此外，無法自訂主機環境或傳遞可能需要的組態檔案，以特定方式執行測試。

   相反地，自訂模式可讓您設定主機機器環境，包括安裝其他軟體、將篩選條件傳遞至測試、傳遞組態檔案，以及控制測試執行設定。它透過 yaml 檔案 （也稱為 testpec 檔案） 達成此目的，您可以將 shell 命令新增至該檔案。此 yaml 檔案會轉換為在測試主機機器上執行的 shell 指令碼。您可以儲存多個 yaml 檔案，並在排程執行時根據您的需求動態選擇一個。

1. **即時影片和記錄**：標準和自訂執行模式都為您提供測試的影片和日誌。不過，在標準模式中，只有在測試完成後，您才會取得測試的影片和預先定義日誌。

   相反地，自訂模式可讓您即時串流測試的視訊和用戶端日誌。此外，您可以在測試結束時 （測試） 下載影片和其他成品。

**提示**  
如果您的使用案例至少涉及上述其中一個因素，強烈建議切換到自訂執行模式。

## 移轉步驟
<a name="migrating-to-custom"></a>

若要從標準遷移到自訂模式，請執行下列動作：

1. 登入 AWS 管理主控台 並開啟 Device Farm 主控台，網址為 https：//[https://console.aws.amazon.com/devicefarm/](https://console.aws.amazon.com/devicefarm/)。

1. 選擇您的專案，然後啟動新的自動化執行。

1. 上傳您的應用程式 （或選取 `web app`)、選擇您的測試架構類型、上傳您的測試套件，然後在 `Choose your execution environment` 參數下選擇 選項。 `Run your test in a custom environment`

1. 根據預設，Device Farm 的範例測試規格檔案會顯示供您檢視和編輯。此範例檔案可以用作在[自訂環境模式下](https://docs.aws.amazon.com/devicefarm/latest/developerguide/custom-test-environments.html)試用測試的起點。然後，一旦從主控台驗證測試是否正常運作，您就可以變更任何與 Device Farm 的 API、CLI 和管道整合，以在排程測試執行時使用此測試規格檔案做為參數。如需有關如何新增測試規格檔案做為執行參數的資訊，請參閱 API [指南](https://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ScheduleRun.html)中的 `ScheduleRun` API `testSpecArn` 參數區段。

## Appium 架構
<a name="custom-test-environment-migration-appium"></a>

在自訂測試環境中，Device Farm 不會插入或覆寫 Appium 架構測試中的任何 Appium 功能。您必須以測試規格 YAML 檔案或測試程式碼指定您測試的 Appium 功能。

## Android 檢測
<a name="custom-test-environment-migration-instrumentation"></a>

您不需要進行任何變更，就可將您的 Android 檢測測試移動到自訂測試環境。

## iOS XCUITest
<a name="custom-test-environment-migration-xcuitest"></a>

您不需要進行任何變更，就可將您的 iOS XCUITest 測試移動到自訂測試環境。