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 android ios . |
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.