تست خودکار بازیابی نسخه پشتیبان

چارچوب تست خودکار برای تأیید اینکه داده‌های کاربر و اعتبارنامه‌های حساب کاربری، پس از ارتقاء دستگاه و بازیابی‌های ابری، به طور ایمن باقی می‌مانند.
آخرین به‌روزرسانی انتشار پایدار کاندیدای انتشار انتشار بتا انتشار آلفا
۲۳ سپتامبر ۲۰۲۶ - - - ۱.۰.۰-آلفا۰۱

بازخورد

بازخورد شما به بهبود Jetpack کمک می‌کند. اگر مشکلات جدیدی کشف کردید یا ایده‌هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. می‌توانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.

ایجاد یک مسئله جدید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه آزمایشی بازیابی خودکار نسخه پشتیبان ۱.۰

نسخه ۱.۰.۰-آلفا۰۱

۲۳ سپتامبر ۲۰۲۶

androidx.test.backup:backup:1.0.0-alpha01 و androidx.test.backup:backup-host:1.0.0-alpha01 منتشر شدند. نسخه 1.0.0-alpha01 شامل این کامیت‌ها است.

ویژگی‌های انتشار اولیه

انتشار اولیه چارچوب تست پشتیبان‌گیری و بازیابی خودکار برای اندروید. این کتابخانه روشی خودکار و سرتاسری برای آزمایش اینکه داده‌های کاربر و اعتبارنامه‌های حساب کاربری پس از ارتقاء دستگاه و بازیابی‌های ابری به طور ایمن باقی می‌مانند، ارائه می‌دهد. به جای تکیه بر تست دستی، توسعه‌دهندگان می‌توانند کل چرخه حیات را خودکار کنند: ایجاد وضعیت برنامه، پشتیبان‌گیری از آن طبق قوانین پیکربندی شده شما ( dataExtractionRules و fullBackupContent )، پاک کردن برنامه و تأیید صحت داده‌های پس از بازیابی. این چارچوب دو مصنوع ارائه می‌دهد: androidx.test.backup:backup-host (که روی رایانه میزبان اجرا می‌شود تا مراحل پشتیبان‌گیری، پاک کردن و بازیابی را از طریق ADB هماهنگ کند) و androidx.test.backup:backup (که روی دستگاه اجرا می‌شود تا داده‌های برنامه را پر و تأیید کند).

  • BackupRestoreController : رابط اصلی سمت میزبان که برای کنترل گردش‌های کاری پشتیبان‌گیری، پاک‌سازی، بازیابی و تأیید برای یک دستگاه آزمایشی استفاده می‌شود. خطوط لوله راحتی مانند runBackupRestoreFlow و همچنین عملیات دقیق ( performBackup ، performRestore ، clearAppData ، fetchDeviceLogs و runOnDevice ) را فراهم می‌کند. از هر دو کوروتین کاتلین و اجرای ناهمزمان ListenableFuture جاوا پشتیبانی می‌کند.
  • BackupRestoreExtension : یک افزونه JUnit 5 Jupiter که پارامترهای BackupRestoreController حل و به متدهای تست تزریق می‌کند. جلسات ADB مستقل یا مشترک را مدیریت می‌کند، به طور خودکار APK های تست شده و آزمایشی را نصب می‌کند، قفل صفحه نمایش و محافظ صفحه کلید دستگاه را برای باز کردن فضای ذخیره‌سازی محافظت شده با اعتبارنامه غیرفعال می‌کند و جداسازی جعبه شنی تست را اعمال می‌کند.
  • BackupRestoreTestRunner : یک اجراکننده تست Instrumentation روی دستگاه که درون جعبه شنی برنامه اجرا می‌شود. پیاده‌سازی‌های BackupDeviceAction درخواستی ارسال شده توسط هماهنگ‌کننده‌های میزبان را به صورت پویا حل و اجرا می‌کند و بارهای داده بزرگ نتیجه JSON را به طور ایمن به دیسک هدایت می‌کند تا از محدودیت‌های بافر تراکنش Binder جلوگیری کند.
  • BackupDeviceAction : قراردادی برای اقدامات سفارشی سمت دستگاه که مستقیماً در sandbox برنامه هدف در طول کاشت داده ( PHASE_POPULATE ) یا اعتبارسنجی پس از بازیابی ( PHASE_VERIFY ) اجرا می‌شوند.
  • StorageDomain : توصیف‌گرهای Strongly typed ( Preference ، Database ، TextFile و BinaryFile ) که در کنار کمک‌کننده‌های اکشن از پیش ساخته شده ( PopulateStorageAction و AssertStorageAction ) استفاده می‌شوند تا به طور خودکار SharedPreferences ، پایگاه‌های داده SQLite و فایل‌های خام را در هر دو زمینه ذخیره‌سازی Credential Protected (CE) و Device Protected (DE) بدون کدهای تکراری، Seed و assert کنند.
  • BackupTransportMode : توپولوژی انتقال پشتیبان‌گیری پلتفرم را برای شبیه‌سازی در طول مراحل تست مشخص می‌کند، از جمله DEVICE_TO_DEVICE (انتقال دستگاه فیزیکی از طریق USB یا Wi-Fi Direct)، CLOUD_ENCRYPTED (پشتیبان‌گیری ابری با رمزگذاری سرتاسری سمت کلاینت)، CLOUD_UNENCRYPTED (پشتیبان‌گیری ابری استاندارد) و LOCAL (پشتیبان‌گیری سیستم فایل محلی آفلاین).
  • @Device و @Isolation : حاشیه‌نویسی‌های میزبان برای انتخاب دستگاه‌های متصل مطابق با سریال‌های خاص، سطوح API یا نقش‌های چند دستگاهی و پیکربندی سیاست‌های جداسازی sandbox بین اجرای تست‌ها ( IsolationPolicy.AUTOMATIC در مقابل IsolationPolicy.MANUAL ).