

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

# 自訂測試環境的環境變數
<a name="custom-test-environment-variables"></a>

 Device Farm 會動態設定數個環境變數，做為自訂測試環境執行的一部分。

**Topics**
+ [自訂環境變數](#custom-test-environment-variables-custom)
+ [常見環境變數](#custom-test-environment-variables-common)
+ [Appium 測試的環境變數](#custom-test-environment-variables-appium)
+ [XCUITest 測試的環境變數](#custom-test-environment-variables-xcuitest)

## 自訂環境變數
<a name="custom-test-environment-variables-custom"></a>

 Device Farm 支援在測試主機上套用為環境變數的鍵/值對組態。這些可以在 Device Farm 專案上或在執行建立期間設定；在執行上設定的任何變數都會取代其父專案上可能設定的任何變數。適用以下限制：
+ 舊版 iOS 測試主機不支援自訂環境變數。如需詳細資訊，請參閱[舊版 iOS 測試主機](custom-test-environments-hosts-ios.md#legacy-ios-host)。
+ 以 開頭的變數名稱`$DEVICEFARM_`會保留供內部服務使用。
+ 自訂環境變數可能無法用於在測試規格中設定測試主機運算選擇。

## 常見環境變數
<a name="custom-test-environment-variables-common"></a>

 本節說明 Device Farm 中所有測試常見的環境變數。

** `$DEVICEFARM_DEVICE_NAME` **  
 測試執行所在的裝置。它代表裝置的唯一裝置識別符 (UDID)。

** `$DEVICEFARM_DEVICE_UDID` **  
 裝置的唯一識別符。

** `$DEVICEFARM_DEVICE_PLATFORM_NAME` **  
 裝置平台名稱。它是 `Android`或 `iOS`。

** `$DEVICEFARM_DEVICE_OS_VERSION` **  
 裝置作業系統版本。

** `$DEVICEFARM_APP_PATH` **  
 *（行動應用程式測試）*   
 主機上行動應用程式的路徑，測試會在此處執行。此變數在 Web 測試期間無法使用。

** `$DEVICEFARM_LOG_DIR` **  
 儲存客戶日誌、成品和其他所需檔案的預設目錄路徑，以供日後擷取。使用[範例測試規格](custom-test-environment-test-spec.md#custom-test-environment-test-spec-example)，此目錄中的檔案會封存在 ZIP 檔案中，並在測試執行後做為成品提供。

** `$DEVICEFARM_SCREENSHOT_PATH` **  
 在測試執行期間擷取之螢幕擷取畫面的路徑 (若有)。

** `$DEVICEFARM_PROJECT_ARN` **  
 任務父專案的 ARN。

** `$DEVICEFARM_RUN_ARN` **  
 任務父項執行的 ARN。

** `$DEVICEFARM_DEVICE_ARN` **  
 待測裝置的 ARN。

** `$DEVICEFARM_TOTAL_JOBS` **  
 與其父系 Device Farm 執行相關聯的任務總數。

** `$DEVICEFARM_JOB_NUMBER` **  
 此任務在 中的號碼`$DEVICEFARM_TOTAL_JOBS`。例如，執行可能包含 5 個任務，每個任務都有 0 到 4 之間的唯一`$DEVICEFARM_JOB_NUMBER`範圍。

** `$AWS_REGION` **  
 AWS 區域。服務會將此設定為符合待測裝置所在的區域。如有需要，自訂環境變數可以覆寫它。

** `$ANDROID_HOME` **  
 *（僅限 Android)*   
 Android SDK 安裝目錄的路徑。

## Appium 測試的環境變數
<a name="custom-test-environment-variables-appium"></a>

 本節說明 Device Farm 中自訂測試環境中任何 Appium 測試所使用的環境變數。

** `$DEVICEFARM_CHROMEDRIVER_EXECUTABLE_DIR` **  
 *（僅限 Android)*   
 目錄的位置，其中包含在 Appium Web 和混合測試中使用的必要 ChromeDriver 可執行檔。

** `$DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V<N>` **  
 *（僅限 iOS)*   
 建置在 Device Farm 上執行之 WebDriverAgent 版本的衍生資料路徑。變數上的編號將對應至 WebDriverAgent 的主要版本。例如， `DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V9`會指向 9.x 的 WebDriverAgent 版本。如需詳細資訊，請參閱[為 iOS 測試選取 WebDriverAgent 版本](test-types-appium.md#test-types-appium-select-wda)。  
 `$DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V<N>` 環境變數僅存在於非舊版 iOS 主機上。如需詳細資訊，請參閱[舊版 iOS 測試主機](custom-test-environments-hosts-ios.md#legacy-ios-host)。

** `$DEVICEFARM_WDA_DERIVED_DATA_PATH_V9` **  
 *（僅限 iOS，已棄用）*   
 建置在 Device Farm 上執行之 WebDriverAgent 版本的衍生資料路徑。如需替代命名結構`$DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V<N>`，請參閱 。

## XCUITest 測試的環境變數
<a name="custom-test-environment-variables-xcuitest"></a>

 本節說明 XCUITest 測試在 Device Farm 的自訂測試環境中使用的環境變數。

** `$DEVICEFARM_XCUITESTRUN_FILE` **  
 Device Farm `.xctestun` 檔案的路徑。該檔案是由您的應用程式和測試套件所產生。

** `$DEVICEFARM_DERIVED_DATA_PATH` **  
Device Farm xcodebuild 輸出的預期路徑。

** `$DEVICEFARM_XCTEST_BUILD_DIRECTORY` **  
測試套件檔案之未解壓縮內容的路徑。