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

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

התאמה אישית

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

הטמעה

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

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

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

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

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

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

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

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

adb shell cmd testharness enable