Automatyczny test przywracania kopii zapasowej
| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja alfa |
|---|---|---|---|---|
| 23 września 2026 r. | - | - | - | 1.0.0-alpha01 |
Prześlij opinię
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz oddać głos na istniejący problem, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Automated Backup Restore Test Version 1.0
Wersja 1.0.0-alpha01
23 września 2026 r.
Publikacja androidx.test.backup:backup:1.0.0-alpha01 i androidx.test.backup:backup-host:1.0.0-alpha01 Wersja 1.0.0-alpha01 zawiera te zmiany.
Funkcje pierwszej wersji
Pierwsza wersja platformy testowej automatycznego tworzenia kopii zapasowych i przywracania danych na Androidzie. Ta biblioteka zapewnia zautomatyzowany, kompleksowy sposób testowania, czy dane użytkownika i dane logowania do konta są bezpieczne podczas uaktualniania urządzenia i przywracania z chmury. Zamiast polegać na testach ręcznych, deweloperzy mogą zautomatyzować cały cykl życia: inicjowanie stanu aplikacji, tworzenie kopii zapasowych zgodnie ze skonfigurowanymi regułami (dataExtractionRules i fullBackupContent), czyszczenie aplikacji i weryfikowanie integralności danych po przywróceniu. Platforma udostępnia 2 artefakty: androidx.test.backup:backup-host (który działa na komputerze hosta, aby koordynować tworzenie kopii zapasowych, czyszczenie i przywracanie za pomocą ADB) oraz androidx.test.backup:backup (który działa na urządzeniu, aby wypełniać i weryfikować dane aplikacji).
BackupRestoreController: główne interfejs po stronie hosta używany do sterowania przepływami pracy związanymi z tworzeniem kopii zapasowych, czyszczeniem, przywracaniem i weryfikacją na urządzeniu testowym. Zawiera wygodne potoki, takie jakrunBackupRestoreFlow, a także precyzyjne operacje (performBackup,performRestore,clearAppData,fetchDeviceLogsirunOnDevice). Obsługuje zarówno korutyny Kotlin, jak i asynchroniczne wykonywanie w języku JavaListenableFuture.BackupRestoreExtension: rozszerzenie JUnit 5 Jupiter, które rozwiązuje i wstrzykuje parametryBackupRestoreControllerdo metod testowych. Zarządza samodzielnymi lub współdzielonymi sesjami ADB, automatycznie instaluje testowane i testowe pliki APK, zamyka ekrany blokady urządzenia i ekrany klucza, aby odblokować pamięć chronioną hasłem, oraz wymusza izolację piaskownicy testowej.BackupRestoreTestRunner: Uruchamiający testy na urządzeniuInstrumentation, który działa w piaskownicy aplikacji. Dynamicznie rozwiązuje i wykonuje żądane implementacjeBackupDeviceActionwysyłane przez orkiestratorów hosta oraz bezpiecznie przekierowuje duże ładunki wyników JSON na dysk, aby zapobiec przekroczeniu limitów bufora transakcji Binder.BackupDeviceAction: umowa dotycząca niestandardowych działań po stronie urządzenia wykonywanych bezpośrednio w piaskownicy aplikacji docelowej podczas wypełniania danych (PHASE_POPULATE) lub weryfikacji po przywróceniu (PHASE_VERIFY).StorageDomain: silnie typizowane deskryptory (Preference,Database,TextFileiBinaryFile) używane wraz z gotowymi pomocnikami działań (PopulateStorageActioniAssertStorageAction) do automatycznego wypełniania i sprawdzaniaSharedPreferences, baz danych SQLite i plików surowych w kontekstach pamięci chronionej przez dane logowania (CE) i chronionej przez urządzenie (DE) bez kodu standardowego.BackupTransportMode: określa topologię transportu kopii zapasowej platformy, która ma być symulowana podczas testów, w tymDEVICE_TO_DEVICE(migracja urządzenia fizycznego przez USB lub Wi-Fi Direct),CLOUD_ENCRYPTED(kopia zapasowa w chmurze z szyfrowaniem typu end-to-end po stronie klienta),CLOUD_UNENCRYPTED(standardowa kopia zapasowa w chmurze) iLOCAL(kopia zapasowa offline w lokalnym systemie plików).@Devicei@Isolation: adnotacje hosta do wybierania połączonych urządzeń pasujących do określonych numerów seryjnych, poziomów interfejsu API lub ról na wielu urządzeniach oraz konfigurowania zasad izolacji piaskownicy między przebiegami testów (IsolationPolicy.AUTOMATICaIsolationPolicy.MANUAL).