Zacznij testować urządzenia wirtualne z Androidem

W tym dokumencie opisujemy rozwiązania AVD przeznaczone do Laboratorium, w tym korzyści i znane ograniczenia. Udostępniamy też rekomendacje dotyczące testowania aplikacji w całym cyklu jej programowania. Narzędzia AVD w Laboratorium są podobne do AVD w Android Studio, ale są zoptymalizowane pod kątem wydajności w ramach testów w chmurze, więc występują między nimi pewne różnice.

Narzędzia AVD Laboratorium z sufiksem .arm lub (Arm) to zaawansowane emulatory, które zapewniają te korzyści:

  • Krótszy czas wykonywania testu

  • Rozmiary i gęstość ekranu z uwzględnieniem średniego rozmiaru ekranu w Android Studio, aby zapewnić spójność.

  • Przyspieszona grafika obsługiwana przez GPU

W tabeli poniżej znajdziesz zalety korzystania z urządzeń wirtualnych:

Korzyść Opis Przypadki użycia
Wysoka dostępność W przypadku testów na urządzeniach wirtualnych możesz przeprowadzać testy i szybciej uzyskiwać ich wyniki. Urządzenia wirtualne są tworzone na żądanie, dlatego testy zaczynają się niemal natychmiast i umożliwiają szybką weryfikację aplikacji. testowanie drobnych aktualizacji aplikacji lub testowanie regresji;
Dłuższy czas trwania testów Urządzenia wirtualne obsługują czas trwania testu wynoszący do 60 minut. Testy na urządzeniach fizycznych mogą trwać maksymalnie 45 minut na każdym urządzeniu. Dłuższe testy
Niższe koszty Urządzenia wirtualne kosztują 1 USD za godzinę za każde urządzenie wirtualne użyte do przetestowania Twojej aplikacji. Codzienne testy z użyciem systemów ciągłej integracji lub przed sprawdzeniem kodu. Więcej informacji znajdziesz w artykule Poziomy wykorzystania, limity i ceny Laboratorium.

Testowanie aplikacji za pomocą urządzeń wirtualnych

Możesz testować aplikację na urządzeniach wirtualnych tak samo jak na urządzeniach fizycznych. Podczas konfigurowania macierzy testów możesz wybrać urządzenia wirtualne do testów. Więcej informacji o prowadzeniu testów w Laboratorium Firebase znajdziesz w artykule Pierwsze kroki z testowaniem w Androidzie w Laboratorium Firebase.

Wyświetl obsługiwane modele i interfejsy API

Aby wyświetlić modele AVD i interfejsy API obsługiwane w Laboratorium, uruchom następujące polecenie:

gcloud firebase test android models list --filter=virtual

Sprawdzone metody testowania aplikacji

Urządzenia wirtualne zwiększają zakres opcji podczas testowania aplikacji w Laboratorium. Zalecamy stosowanie tych sprawdzonych metod do testowania aplikacji w całym cyklu jej tworzenia:

Użyj emulatora Androida Studio lub podłączonego urządzenia fizycznego.

Podczas tworzenia aplikacji użyj emulatora Android Studio lub podłączonego urządzenia fizycznego, by przetestować każdą kompilację w celu wstępnej weryfikacji. Jeśli korzystasz z testów instrumentalnych, możesz je też uruchamiać w Android Studio na urządzeniach fizycznych lub wirtualnych udostępnionych przez Laboratorium.

Używaj systemów CI przy każdej zmianie kodu podczas pracy nad udostępnionymi projektami

Jeśli pracujesz nad dużym projektem lub wnosisz udział w projektach udostępnianych przez GitHuba lub podobną witrynę, zalecamy korzystanie z systemów ciągłej integracji (CI). Testuj aplikacje na urządzeniach wirtualnych przy każdym uruchomieniu systemu CI lub przed każdym żądaniem pull. Więcej informacji o korzystaniu z Laboratorium w systemach CI znajdziesz w artykule Korzystanie z Laboratorium na Androida z systemami ciągłej integracji.

Zanim opublikujesz ważne aktualizacje, przetestuj aplikację na urządzeniach fizycznych za pomocą Laboratorium.

Zanim opublikujesz aktualizacje aplikacji wprowadzające istotne zmiany w interfejsie i funkcjach, zalecamy przetestowanie aplikacji na urządzeniach fizycznych w Laboratorium. Dzięki temu będziesz mieć pewność, że Twoja aplikacja będzie stabilna i wydajna na wielu popularnych urządzeniach fizycznych. Testowanie na urządzeniach fizycznych zapewnia również zasięg funkcji aplikacji, które korzystają z funkcji urządzeń fizycznych, które nie są symulowane przez urządzenia wirtualne. Więcej informacji o tych funkcjach znajdziesz w sekcji Znane ograniczenia.

Aktualizacje urządzeń wirtualnych

Okresowo zespół Androida dodaje nowe obrazy urządzeń wirtualnych, wycofuje stare i aktualizuje istniejące. Stosujemy te aktualizacje do naszych obrazów urządzeń wirtualnych, aby mieć pewność, że Twoje urządzenia są testowane pod kątem aktualnych wersji Androida, które odzwierciedlają wrażenia użytkowników.

W rzadkich przypadkach te aktualizacje mogą nieoczekiwanie spowodować niepowodzenie testów. W przypadku wykrycia aktualizacji, która może naruszać zasady, Laboratorium umieszcza odpowiednie informacje w informacjach o wersji. Zalecamy, aby w miarę możliwości korzystać z platform testowych (np. Espresso), które dobrze reagują na te zmiany. Jeśli nie jest to możliwe, zalecamy kierowanie na urządzenia wirtualne Arm, które mogą być rzadziej aktualizowane.

Znane ograniczenia

Niektóre funkcje urządzeń fizycznych nie są obecnie symulowane przez urządzenia wirtualne lub są symulowane z pewnymi ograniczeniami. W tej tabeli znajdziesz podsumowanie funkcji, które są obecnie niedostępne na urządzeniach wirtualnych lub są dostępne z pewnymi ograniczeniami:

Funkcja Szczegóły
Interfejsy binarne aplikacji (ABI) Nie wszystkie urządzenia obsługują wszystkie interfejsy ABI. Jeśli programujesz z użyciem pakietu Android NDK, pamiętaj, by wygenerować kod dla interfejsów ABI obsługiwanych przez urządzenia, na które kierujesz reklamy (zobacz Dostępne urządzenia w Laboratorium). Więcej informacji o zarządzaniu interfejsami ABI znajdziesz w artykule o interfejsach ABI Androida.

Uwaga: jeśli test w macierzy testów jest oznaczony jako nieprawidłowy, może to być spowodowane tym, że aplikacja jest uzależniona od kodu natywnego nieobsługiwanego przez interfejs ABI urządzenia.

Wydajność grafiki Urządzenia wirtualne Nexus i Pixel używają programowego renderowania grafiki. Aplikacje wymagające dużej mocy obliczeniowej mogą mieć niższą wydajność. Jeśli Twoja aplikacja wymaga dużych nakładów graficznych, rozważ użycie urządzeń SmallPhone.arm, MediumPhone.arm lub urządzeń fizycznych.
Interfejsy API związane z grafiką Interfejs OpenGL ES 3.x nie jest obsługiwany na urządzeniach poniżej poziomu interfejsu API 29. Nowsze urządzenia nie są w pełni zgodne z interfejsami API OpenGL/Vulkan. Możesz zauważyć niewielkie różnice w grafice.
Aplikacja Sklep Google Play Aplikacja Sklep Google Play nie jest obsługiwana na urządzeniach wirtualnych Arm.
funkcje rzeczywistości rozszerzonej (AR), Testowanie funkcji rzeczywistości rozszerzonej (AR) nie jest obsługiwane na urządzeniach wirtualnych.
Starsze poziomy interfejsu API Urządzenia wirtualne w Laboratorium nie obsługują poziomów API mniejszych niż 26.

Dalsze kroki