測試中的環境變數
重要
Visual Studio App Center 已排定於 2025 年 3 月 31 日淘汰。 雖然您可以繼續使用 Visual Studio App Center,直到完全淘汰為止,但有數個建議的替代方案可以考慮移轉至。
測試時,使用自定義環境變數集來啟動應用程式或測試執行器通常很有説明。 例如,環境變數可用來控制應用程式的行為,或提供登入信息的測試。
對於大部分的架構,在測試、應用程式或兩者中都可以使用有用的環境變數。 您可以透過 App Center CLI 設定其他環境變數。
依架構支援
在 App Center 中,某些架構和平臺組合支援設定和使用自定義環境變數,以及使用可供您的應用程式使用的變數,並自動測試 (例如 RUNNING_IN_APP_CENTER
和 APP_CENTER_TEST
) 。
下表列出每個架構或平台支援的環境變數:
架構 | 測試環境變數 | 應用程式環境變數 |
---|---|---|
Appium | 可用 | 無法使用 |
葫蘆 | 可用 | 僅適用於 iOS |
濃縮咖啡 | 可用 | 可用 |
Xamarin.UITest | 可用 | 僅適用於 iOS |
XCUITest | 無法使用 | 無法使用 |
注意
在線上測試和 Android 應用程式中,變數可在中 InstrumentationRegistry
取得,因為 Android 不支援環境變數。
應用程式中可用的環境變數
針對支援的架構,這些環境變數可在應用程式中使用:
環境變數 | 描述 |
---|---|
RUNNING_IN_APP_CENTER |
當裝置在 App Center 測試中執行時設定為1 |
測試中可用的環境變數
針對支援的架構,這些環境變數可在測試中使用:
環境變數 | 描述 |
---|---|
APP_CENTER_TEST |
在 App Center 測試中執行測試時,請將 設定為 1 。 |
XTC_APP_ENDPOINT |
裝置上允許其他服務與應用程式通訊的安全埠位址。 由在應用程式中內嵌自己的 HTTP 伺服器且需要與測試架構外部的應用程式互動的應用程式使用。 (僅限 Android) 。 範例: http://devicehost151.prod:37777/proxy2/token-c059c5c6-37cc-4400-9038-96d1d342ed6e/ |
XTC_DEVICE |
結合作業系統名稱和裝置名稱。 範例: Google Pixel 2 XL (8.1.0) |
XTC_DEVICE_INDEX |
介於 0 到 N-1 範圍內的字串,其中 N 是測試執行所在的裝置數目。 用於在多個裝置上平行執行相同測試的情況。 XTC_DEVICE_INDEX 對於每個裝置的每個測試回合而言都是唯一的。 如需其他討論,請參閱: 在測試期間處理並行資料庫變更。 |
XTC_DEVICE_NAME |
執行測試的裝置名稱。 範例: Google Pixel 2 XL |
XTC_DEVICE_OS |
執行測試之裝置的作業系統名稱。 範例: 8.1.0 |
XTC_LANG |
用來執行測試的語言代碼。 範例: en |
XTC_PLATFORM |
受測平臺,可以是 android 或 ios 。 |
設定其他環境變數
當您使用 CLI 將測試上傳至 App Center 時,您可以使用 選項來要求環境變數 --test-parameter
。 您可以為測試執行器設定環境變數,並針對您的應用程式 (受測應用程式或 AUT) 。
注意
如需哪些架構支援 App Center 測試中的測試和應用程式變數的詳細資訊,請參閱 Framework 的支援 。
測試的環境變數
$ appcenter test run < > \
< args > \
--test-parameter "test_env=USERNAME=clever_user@example.com" \
--test-parameter "test_env=PASSWORD=pa$$w0rd" \
--test-parameter "test_env=TWO_FACTOR_URL=https://staging.example.com/test-2FA" \
--test-parameter "test_env=UPGRADE_PURCHASED=0"
應用程式的環境變數
$ appcenter test run < > \
< args > \
--test-parameter "app_env=VERBOSE_LOGGING=1" \
--test-parameter "app_env=CONTENT_SERVER=staging.example.com \
--test-parameter "app_env=API_LEVEL=3.2" \
--test-parameter "app_env=UPGRADE_PURCHASED=0"
在您的測試中使用環境變數
範例 Appium 測試程序代碼:
下列代碼段示範如何使用 Appium 存取 App Center 測試中的環境變數
String appCenterTest = System.getenv("APP_CENTER_TEST");
範例的一個程式代碼是一個程序代碼:
下列代碼段示範如何使用「App Center 測試」使用「快取」ash 來存取環境變數
app_center_test = ENV["APP_CENTER_TEST"]
範例 線上測試程序代碼
因為Android不支援環境變數,所以App Center測試 InstrumentationRegistry
會改為設定一個值。 下列代碼段示範如何存取 InstrumentationRegistry
值。
String appCenterTest = InstrumentationRegistry.getArguments().getString("APP_CENTER_TEST");
範例 Xamarin.UITest 測試程式代碼
下列代碼段示範如何使用 Xamarin.UITest 存取 App Center 測試中的環境變數:
string appCenterTest = Environment.GetEnvironmentVariable("APP_CENTER_TEST");
在應用程式中使用環境變數
範例原生 Android 應用程式程式代碼
注意
如需哪些架構支援 App Center 測試中的應用程式變數,請參閱 Framework 支援。
由於 Android 不支援環境變數,因此 App Center 測試會改為設定 InstrumentationRegistry
值。 下列代碼段示範如何存取 InstrumentationRegistry
值。
String runningInAppCenter = InstrumentationRegistry.getArguments().getString("RUNNING_IN_APP_CENTER");
範例原生 iOS 應用程式程式代碼
注意
如需哪些架構支援 App Center 測試中的應用程式變數,請參閱 Framework 支援。
原生 iOS 應用程式會透過 NSProcessInfo API 存取環境變數。
[[NSProcessInfo processInfo] environment]["RUNNING_IN_APP_CENTER"]
ProcessInfo.processInfo.environment["RUNNING_IN_APP_CENTER"]
取得說明
您可以在 App Center 入口網站中連絡支持人員。 在畫面右上角,選取 [說明] (?) 功能表,然後選擇 [連絡支援]。 我們的專用支援小組會回應您的問題。
如果您想要測試回合的協助,請流覽至有問題的測試回合,然後從瀏覽器複製 URL,並將其貼到支援交談中。 測試回合 URL 看起來像這樣 https://appcenter.ms/orgs/OrgName/apps/App-Name/test/runs/77a1c67e-2cfb-4bbd-a75a-eb2b4fd0a747。