حالت مهار تست (Test Harness Mode) قابلیتی است که در اندروید ۱۰ برای توسعهدهندگان برنامههای شخص ثالث که مایل به خودکارسازی یک دستگاه یا مجموعهای از دستگاهها هستند، اضافه شده است. این قابلیت روشی را برای پاک کردن تمام دادههای کاربر در یک دستگاه اندروید، حفظ کلیدهای ADB و رد کردن تمام صفحات راهاندازی اولیه فراهم میکند. این قابلیت به کاربر امکان میدهد بلافاصله پس از راهاندازی و بدون هیچ گونه تعامل دستی، یک تست رابط کاربری (UI) را اجرا کند.
سفارشیسازی
شما میتوانید با بررسی ActivityManager.isRunningInUserTestHarness() تشخیص دهید که آیا دستگاه در حالت Test Harness Mode قرار دارد یا خیر. سفارشیسازیها را به حداقل برسانید؛ مواردی مانند رد کردن صفحات راهاندازی (روی صفحه کلید یا ویزارد راهاندازی) را که باعث اختلال در تستهای رابط کاربری میشوند یا نیاز به تعامل دستی دارند، محدود کنید.
پیادهسازی
پیادهسازی پیشفرض PersistentDataBlockManagerInternal در PersistentDataBlockService است. Test Harness Mode در TestHarnessModeService پیادهسازی شده است.
پیادهسازی پیشفرض حالت مهار آزمایشی از همان مکانیزم ذخیرهسازی محافظت در برابر بازنشانی کارخانه برای ذخیره موقت کلیدهای adb در یک پارتیشن پایدار استفاده میکند. اگر یک پارتیشن پایدار با محافظت در برابر بازنشانی کارخانه از قبل روی دستگاه آزمایشی پیادهسازی شده باشد، برای پشتیبانی از این ویژگی، کار بسیار کمی یا هیچ کاری لازم نیست.
تولیدکنندگان اصلی تجهیزات (OEM) که پارتیشن پایدار (persistent partition) ندارند، باید قبل از اجرای TestHarnessModeService PersistentDataBlockManagerInternal پیادهسازی کنند.
وضعیت حالت مهار آزمایشی را بررسی کنید
وقتی حالت مهار تست فعال باشد، ActivityManager.isRunningInUserTestHarness() true برمیگرداند.
حالت مهار آزمایشی را اجرا کنید
فعال کردن حالت مهار تست، تمام دادهها را از دستگاه پاک میکند و دستگاه را برای آزمایش آماده میکند. این بدان معناست که تمام بخشهای دستگاه که میتوانند در آزمایش اختلال ایجاد کنند (مانند همگامسازی خودکار حسابها، تأیید بسته و بهروزرسانیهای خودکار) بهطور پیشفرض غیرفعال هستند، اما کاربر میتواند آنها را دوباره فعال کند.
دستور adb را برای فعال کردن حالت مهار تست اجرا کنید:
adb shell cmd testharness enable