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