Udostępnij za pośrednictwem


Zmienne środowiskowe w teście

Ważne

Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Mimo że możesz nadal używać programu Visual Studio App Center do momentu jej pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.

Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.

Podczas testowania często warto uruchomić aplikację lub moduł uruchamiający testy z niestandardowym zestawem zmiennych środowiskowych. Na przykład zmienne środowiskowe mogą służyć do kontrolowania zachowania aplikacji lub dostarczania testów z informacjami logowania.

W przypadku większości platform przydatne zmienne środowiskowe są dostępne w ramach testów, aplikacji lub obu tych platform. Dodatkowe zmienne środowiskowe można ustawić za pomocą interfejsu wiersza polecenia centrum aplikacji.

Obsługa według struktury

W centrum aplikacji niektóre struktury i kombinacje platform obsługują ustawienie i używanie niestandardowych zmiennych środowiskowych, a także używanie zmiennych, które są udostępniane aplikacji i testom automatycznie (na przykład RUNNING_IN_APP_CENTER i APP_CENTER_TEST).

W tej tabeli wymieniono zmienne środowiskowe obsługiwane dla każdej platformy lub platformy:

Framework Testowanie zmiennych środowiskowych Zmienne środowiskowe aplikacji
Appium Dostępne Niedostępny
Calabash Dostępne Dostępne tylko w systemie iOS
Espresso Dostępne Dostępne
Xamarin.UITest Dostępne Dostępne tylko w systemie iOS
XCUITest Niedostępny Niedostępny

Uwaga

W testach Espresso i aplikacjach dla systemu Android zmienne są dostępne, InstrumentationRegistry ponieważ system Android nie obsługuje zmiennych środowiskowych.

Zmienne środowiskowe dostępne w aplikacji

W przypadku obsługiwanych struktur te zmienne środowiskowe są dostępne w aplikacji:

Zmienna środowiskowa Opis
RUNNING_IN_APP_CENTER Ustaw wartość , 1 gdy urządzenie jest uruchomione w usłudze App Center Test

Zmienne środowiskowe dostępne w testach

W przypadku obsługiwanych struktur te zmienne środowiskowe są dostępne w ramach testów:

Zmienna środowiskowa Opis
APP_CENTER_TEST Ustaw wartość na 1 czas uruchamiania testów w usłudze App Center Test.
XTC_APP_ENDPOINT Adres bezpiecznego portu na urządzeniu, który umożliwia innym usługom komunikowanie się z aplikacją. Używane przez aplikacje, które osadzają własne serwery HTTP w aplikacji i muszą korzystać z aplikacji poza platformą testową. (Tylko system Android).

Przykład: http://devicehost151.prod:37777/proxy2/token-c059c5c6-37cc-4400-9038-96d1d342ed6e/
XTC_DEVICE Łączy nazwę systemu operacyjnego i nazwę urządzenia.

Przykład: Google Pixel 2 XL (8.1.0)
XTC_DEVICE_INDEX Ciąg z zakresu od 0 do N-1, gdzie N to liczba urządzeń, na których jest uruchamiany test. Używane w sytuacjach, w których ten sam test jest uruchamiany równolegle na wielu urządzeniach. XTC_DEVICE_INDEX jest unikatowa dla każdego przebiegu testu dla każdego urządzenia. Aby uzyskać dodatkową dyskusję, zobacz : Obsługa współbieżnych zmian bazy danych podczas testów.
XTC_DEVICE_NAME Nazwa urządzenia, na którym uruchomiono test.

Przykład: Google Pixel 2 XL
XTC_DEVICE_OS Nazwa systemu operacyjnego dla urządzenia z uruchomionym testem.

Przykład: 8.1.0
XTC_LANG Kod języka używany do uruchamiania testu.

Przykład: en
XTC_PLATFORM Platforma testowa lub androidios.

Ustawianie dodatkowych zmiennych środowiskowych

Po przekazaniu testów do centrum aplikacji za pomocą interfejsu wiersza polecenia można zażądać ustawienia zmiennych środowiskowych przy użyciu --test-parameter opcji . Zmienne środowiskowe można ustawić dla modułu uruchamiającego testy i aplikacji (aplikacji testowej lub AUT).

Uwaga

Zobacz Obsługa według struktury , aby uzyskać szczegółowe informacje o tym, które struktury obsługują zmienne testowe i zmienne aplikacji w usłudze App Center Test.

Zmienne środowiskowe dla testów

$ 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"

Zmienne środowiskowe aplikacji

$ 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"

Używanie zmiennych środowiskowych w testach

Przykładowy kod testowy appium:

Poniższy fragment kodu pokazuje, jak uzyskać dostęp do zmiennych środowiskowych w usłudze App Center Test przy użyciu aplikacji Appium


String appCenterTest = System.getenv("APP_CENTER_TEST");

Przykładowy kod testowy Narzędzia Calabash:

Poniższy fragment kodu pokazuje, jak uzyskać dostęp do zmiennych środowiskowych w usłudze App Center Test przy użyciu narzędzia Calabash


app_center_test = ENV["APP_CENTER_TEST"]

Przykładowy kod testowy Espresso

Ponieważ system Android nie obsługuje zmiennych środowiskowych, usługa App Center Test ustawia InstrumentationRegistry wartości zamiast tego dla Espresso. Poniższy fragment kodu pokazuje, jak uzyskać dostęp InstrumentationRegistry do wartości.


String appCenterTest = InstrumentationRegistry.getArguments().getString("APP_CENTER_TEST");

Przykładowy kod testowy platformy Xamarin.UITest

Poniższy fragment kodu pokazuje, jak uzyskać dostęp do zmiennych środowiskowych w usłudze App Center Test przy użyciu narzędzia Xamarin.UITest:

string appCenterTest = Environment.GetEnvironmentVariable("APP_CENTER_TEST");

Używanie zmiennych środowiskowych w aplikacji

Przykładowy natywny kod aplikacji systemu Android

Uwaga

Aby uzyskać szczegółowe informacje na temat zmiennych aplikacji w usłudze App Center Test, zobacz Support by framework (Obsługa według struktury ), aby uzyskać szczegółowe informacje o strukturach obsługujących zmienne aplikacji w usłudze App Center Test.

Ponieważ system Android nie obsługuje zmiennych środowiskowych, zamiast tego usługa App Center Test ustawia InstrumentationRegistry wartości. Poniższy fragment kodu pokazuje, jak uzyskać dostęp InstrumentationRegistry do wartości.


String runningInAppCenter = InstrumentationRegistry.getArguments().getString("RUNNING_IN_APP_CENTER");

Przykładowy natywny kod aplikacji systemu iOS

Uwaga

Aby uzyskać szczegółowe informacje na temat zmiennych aplikacji w usłudze App Center Test, zobacz Support by framework (Obsługa według struktury ), aby uzyskać szczegółowe informacje o strukturach obsługujących zmienne aplikacji w usłudze App Center Test.

Natywne aplikacje systemu iOS uzyskują dostęp do zmiennych środowiskowych za pośrednictwem interfejsu API NSProcessInfo.

[[NSProcessInfo processInfo] environment]["RUNNING_IN_APP_CENTER"]
ProcessInfo.processInfo.environment["RUNNING_IN_APP_CENTER"]

Uzyskiwanie pomocy

Możesz skontaktować się z pomocą techniczną w portalu Centrum aplikacji. W prawym górnym rogu ekranu wybierz menu Pomoc (?), a następnie wybierz pozycję "Skontaktuj się z pomocą techniczną". Nasz dedykowany zespół pomocy technicznej odpowie na Twoje pytania.

Jeśli chcesz uzyskać pomoc dotyczącą przebiegu testu, przejdź do danego przebiegu testu i skopiuj adres URL z przeglądarki i wklej go do konwersacji pomocy technicznej. Adres URL przebiegu testu wygląda podobnie do następującego: https://appcenter.ms/orgs/OrgName/apps/App-Name/test/runs/77a1c67e-2cfb-4bbd-a75a-eb2b4fd0a747.