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