הטמעת מצב 'מסגרת בדיקה'

מצב Test Harness הוא תכונה שנוספה ב-Android 10 למפתחי אפליקציות של צד שלישי שרוצים להפוך מכשיר או קבוצת מכשירים לאוטומטיים. התכונה מספקת שיטה לאיפוס כל נתוני המשתמש במכשיר Android, לשמירת מפתחות ADB ולדילוג על כל מסכי ההגדרה הראשונית. האפשרות הזו מאפשרת למשתמש להריץ בדיקת ממשק משתמש מיד אחרי ההפעלה, בלי אינטראקציה ידנית.

התאמה אישית

כדי לבדוק אם מכשיר נמצא במצב Test Harness, בודקים את ActivityManager.isRunningInUserTestHarness(). כדאי לצמצם את ההתאמות האישיות למינימום, ולהגביל אותן לפעולות כמו דילוג על מסכי הגדרה (במקלדת או באשף ההגדרה) שיגרמו לשיבוש בבדיקות ממשק המשתמש או שידרשו אינטראקציה ידנית.

הטמעה

ההטמעה של PersistentDataBlockManagerInternal כברירת מחדל נמצאת ב-PersistentDataBlockService. מצב מסגרת הבדיקה מיושם ב-TestHarnessModeService.

ההטמעה שמוגדרת כברירת מחדל של מצב 'מסגרת בדיקה' משתמשת באותו מנגנון אחסון כמו ההגנה מפני איפוס להגדרות היצרן, כדי לאחסן את מפתחות ה-adb באופן זמני במחיצה מתמשכת. אם במכשיר הבדיקה כבר מיושמת מחיצה קבועה עם הגנה למכשיר אחרי איפוס, לא צריך לעשות הרבה כדי לתמוך בתכונה הזו.

יצרני ציוד מקורי שלא הגדירו מחיצה קבועה צריכים להטמיע את PersistentDataBlockManagerInternal לפני שמריצים את TestHarnessModeService.

בדיקת הסטטוס של מצב מסגרת בדיקה

כשמצב מסגרת בדיקה מופעל, ‫ActivityManager.isRunningInUserTestHarness() מחזיר true.

הפעלת מצב מסגרת בדיקה

הפעלת מצב מסגרת בדיקה מוחקת את כל הנתונים מהמכשיר ומגדירה את המכשיר לבדיקה. המשמעות היא שכל החלקים במכשיר שיכולים להפריע לבדיקה (כמו סנכרון אוטומטי של חשבונות, אימות חבילות ועדכונים אוטומטיים) מושבתים כברירת מחדל, אבל המשתמש יכול להפעיל אותם מחדש.

מריצים את הפקודה adb כדי להפעיל את מצב מסגרת הבדיקה:

adb shell cmd testharness enable