Z tego dokumentu dowiesz się więcej o urządzeniach wirtualnych w Test Lab, w tym o ich korzyściach i znanych ograniczeniach. Znajdziesz tu też zalecenia dotyczące testowania aplikacji na wszystkich etapach jej tworzenia. Test Lab Urządzenia wirtualne są podobne do urządzeń wirtualnych w Android Studio, ale są zoptymalizowane pod kątem wydajności w testach w chmurze, dlatego występują między nimi pewne różnice.
Test Lab Urządzenia wirtualne z sufiksem .arm lub (Arm) to zaawansowane emulatory, które mają te zalety:
szybsze wykonywanie testów;
rozmiary i gęstości ekranu zgodne z urządzeniami wirtualnymi w Android Studio, co zapewnia spójność
przyspieszona grafika obsługiwana przez GPU.
W tabeli poniżej opisujemy zalety korzystania z urządzeń wirtualnych:
| Zaleta | Opis | Przypadki użycia |
| Wysoka dostępność | Podczas testowania na urządzeniach wirtualnych możesz szybciej przeprowadzać testy i uzyskiwać ich wyniki. Urządzenia wirtualne są tworzone na żądanie, więc testy rozpoczynają się niemal natychmiast, co pozwala szybko sprawdzić aplikację. | Testowanie drobnych aktualizacji aplikacji lub testy regresji. |
| Dłuższy czas trwania testów | Urządzenia wirtualne obsługują testy trwające do 60 minut. Testy na urządzeniach fizycznych są ograniczone do 45 minut na urządzenie. | Przeprowadzanie dłuższych testów. |
| Niższe koszty | Urządzenia wirtualne kosztują 1 USD za godzinę na urządzenie używane do testowania aplikacji. | Codzienne testowanie za pomocą systemów trybu ciągłej integracji lub przed zatwierdzeniem kodu. Więcej informacji znajdziesz w artykule Poziomy wykorzystania, limity i ceny Test Lab. |
Testowanie aplikacji na urządzeniach wirtualnych
Aplikację możesz testować na urządzeniach wirtualnych tak samo jak na urządzeniach fizycznych. Podczas konfigurowania zestawu testów możesz wybrać urządzenia wirtualne. Więcej informacji o przeprowadzaniu testów za pomocą Test Lab znajdziesz w artykule Pierwsze kroki z testowaniem na Androidzie za pomocą Firebase Test Lab.
Wyświetlanie obsługiwanych modeli i interfejsów API
Aby wyświetlić modele urządzeń wirtualnych i interfejsy API obsługiwane przez Test Lab, uruchom to polecenie:
gcloud firebase test android models list --filter=virtual
Sprawdzone metody testowania aplikacji
Urządzenia wirtualne zwiększają zakres opcji podczas testowania aplikacji za pomocą Test Lab. Aby testować aplikację na wszystkich etapach jej tworzenia, zalecamy stosowanie tych sprawdzonych metod:
Używanie emulatora Android Studio lub podłączonego urządzenia fizycznego
Podczas tworzenia aplikacji używaj emulatora Android Studio lub podłączonego urządzenia fizycznego, aby sprawdzić każdą kompilację pod kątem wstępnej weryfikacji. Jeśli masz testy instrumentacji, możesz je też uruchomić w Android Studio na urządzeniach fizycznych lub wirtualnych udostępnianych przez Test Lab.
Używanie systemów CI przy każdej zmianie kodu podczas pracy nad projektami udostępnionymi
Jeśli pracujesz nad dużym projektem lub współtworzysz projekty udostępniane za pomocą GitHub albo podobnej witryny, zalecamy korzystanie z systemów trybu ciągłej integracji (CI). Testuj aplikacje na urządzeniach wirtualnych za każdym razem, gdy uruchamia się system CI, lub przed każdym żądaniem pull. Więcej informacji o korzystaniu z Test Lab w systemach CI znajdziesz w artykule Korzystanie z Test Lab na Androidzie w systemach ciągłej integracji.
Testowanie aplikacji na urządzeniach fizycznych za pomocą Test Lab przed opublikowaniem ważnych aktualizacji aplikacji
Zanim opublikujesz aktualizacje aplikacji, które wprowadzają istotne zmiany w interfejsie i funkcjonalności, zalecamy przetestowanie aplikacji na urządzeniach fizycznych za pomocą Test Lab. Pomoże to zapewnić stabilność i wydajność aplikacji na wielu popularnych urządzeniach fizycznych. Testowanie na urządzeniach fizycznych zapewnia też pokrycie testami wszystkich funkcji aplikacji, które korzystają z funkcji urządzeń fizycznych, a nie są symulowane przez urządzenia wirtualne. Więcej informacji o tych funkcjach znajdziesz w sekcji Znane ograniczenia.
Aktualizacje urządzeń wirtualnych
Zespół Androida okresowo dodaje nowe obrazy urządzeń wirtualnych, wycofuje stare i aktualizuje istniejące. Wprowadzamy te aktualizacje do obrazów urządzeń wirtualnych, aby mieć pewność, że testujesz aplikację w najnowszych wersjach Androida, które odzwierciedlają wrażenia użytkowników.
W rzadkich przypadkach te aktualizacje mogą powodować nieoczekiwane niepowodzenia testów. Gdy znana jest potencjalnie powodująca problemy aktualizacja, Test Lab umieści informacje o niej w informacjach o wersji. Zalecamy, aby w miarę możliwości używać platform testowych, np. Espresso , które są odporne na te zmiany. Jeśli nie jest to możliwe, zalecamy kierowanie testów na urządzenia wirtualne Arm, które są aktualizowane rzadziej.
Znane ograniczenia
Niektóre funkcje urządzeń fizycznych nie są obecnie symulowane przez urządzenia wirtualne lub są symulowane z pewnymi ograniczeniami. W tabeli poniżej podsumowujemy funkcje, 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 tworzysz aplikację za pomocą Android NDK, pamiętaj, aby wygenerować kod dla interfejsów ABI obsługiwanych przez urządzenia, na które kierujesz aplikację (zobacz Dostępne urządzenia w Test Lab). Więcej informacji o zarządzaniu interfejsami ABI znajdziesz w artykule Interfejsy ABI Androida.
Uwaga: jeśli test w zestawie testów jest oznaczony jako nieprawidłowy, może to wystąpić, ponieważ aplikacja jest zależna od kodu natywnego, który nie jest obsługiwany przez interfejs ABI urządzenia. |
| Wydajność grafiki | Urządzenia wirtualne Nexus i Pixel używają renderowania grafiki programowej. Aplikacje wymagające dużej mocy obliczeniowej mogą działać wolniej. Jeśli Twoja aplikacja wymaga dużej mocy obliczeniowej, rozważ użycie urządzeń SmallPhone.arm, MediumPhone.arm lub urządzeń fizycznych. |
| Interfejsy API grafiki | OpenGL ES 3.x nie jest obsługiwany na urządzeniach z poziomem interfejsu API niższym niż 29. Nowsze urządzenia nie są w 100% zgodne z interfejsami API OpenGL/Vulkan, dlatego mogą występować niewielkie różnice w grafice. |
| Aplikacja Sklep Google Play | Aplikacja Sklep Google Play nie jest obsługiwana na urządzeniach wirtualnych Arm. |
| Funkcja rzeczywistości rozszerzonej (AR) | Testowanie funkcji rzeczywistości rozszerzonej (AR) nie jest obsługiwane na urządzeniach wirtualnych. |
| Starsze poziomy interfejsu API | Test Lab Urządzenia wirtualne Arm nie obsługują poziomów interfejsu API niższych niż 26. |
Dalsze kroki
- Analizowanie wyników Firebase Test Lab.