Tryb Test Harness to funkcja dodana w Androidzie 10 dla deweloperów aplikacji innych firm, którzy chcą zautomatyzować działanie urządzenia lub wielu urządzeń. Ta funkcja umożliwia wyczyszczenie wszystkich danych użytkownika na urządzeniu z Androidem, zachowanie kluczy ADB i pominięcie wszystkich ekranów początkowej konfiguracji. Dzięki temu użytkownik może uruchomić test interfejsu od razu po uruchomieniu bez ręcznej interakcji.
Dostosowywanie
Aby sprawdzić, czy urządzenie jest w trybie jarzma testowego, wykonaj te czynności:ActivityManager.isRunningInUserTestHarness()
Ogranicz dostosowywanie do minimum. Dotyczy to np. pomijania ekranów konfiguracji (na klawiaturze lub w kreatorze konfiguracji), które mogłyby przerwać testy interfejsu lub wymagać ręcznej interakcji.
Implementacja
Domyślna implementacja PersistentDataBlockManagerInternal
znajduje się w PersistentDataBlockService
.
Tryb jarzma testowego jest wdrożony w TestHarnessModeService
.
Domyślna implementacja trybu Test Harness Mode korzysta z tego samego mechanizmu przechowywania co ochrona przed przywróceniem ustawień fabrycznych, aby tymczasowo przechowywać klucze adb w trwałej partycji. Jeśli na urządzeniu testowym jest już zaimplementowana trwała partycja z ochroną przed przywróceniem do ustawień fabrycznych, obsługa tej funkcji nie wymaga dużego nakładu pracy.
Producenci OEM, którzy nie mają skonfigurowanej trwałej partycji, muszą wdrożyć PersistentDataBlockManagerInternal
przed uruchomieniem TestHarnessModeService
.
Sprawdzanie stanu trybu jarzma testowego
Gdy tryb jarzma testowego jest włączony, funkcja
ActivityManager.isRunningInUserTestHarness()
zwraca wartość true
.
Uruchamianie trybu jarzma testowego
Włączenie trybu jarzma testowego powoduje usunięcie wszystkich danych z urządzenia i przygotowanie go do testowania. Oznacza to, że wszystkie części urządzenia, które mogłyby zakłócać testowanie (np. automatyczna synchronizacja kont, weryfikacja pakietów i automatyczne aktualizacje), są domyślnie wyłączone, ale użytkownik może je ponownie włączyć.
Aby włączyć tryb jarzma testowego, uruchom polecenie adb
:
adb shell cmd testharness enable