עבודה עם מכשירים ב-TF

כדי להריץ בדיקות, Trade Federation משתמש בהפשטה שנקראת ITestDevice. ההפשטה הזו מייצגת את מכשיר Android עם הנקודה המשותפת הנמוכה ביותר:

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

סיווגים של מכשירים

שלוש ההטמעות הראשיות של ITestDevice מייצגות שלושה תרחישים לדוגמה נפוצים.

מכשיר פיזי

זהו חומרה בפועל שמחוברת למחשב המארח של TF באמצעות USB או באמצעות התכונה TCP של adb. הכיתה TestDevice נמצאת מעל לספרייה ddmlib, שהיא ממשק Java ל-adb. כך אפשר ליצור מכונה של כל מכשיר פיזי שמופיע ב-adb devices ולהשתמש בו כ-TestDevice.

מכשיר הדמיה

מעבדים של מכונות וירטואליות מטופלים באופן מיוחד על ידי TF כי הם נמצאים בתהליך אחר. כדי לבצע פעולות במהדורת הדמיה, מציינים את הארגומנט --emulator בפקודה. למידע נוסף, ראו LocalSdkBuildProvider ו-SdkAvdPreparer.

אף מכשיר

נניח שיש לכם בדיקה שלא מתבצעת בה אינטראקציה עם מכשיר בכלל. לדוגמה, יכול להיות שהוא פשוט מוריד קובץ משירות כלשהו ומאמת שהקובץ עצמו תקין. NullDevice הוא ITestDevice שהוא רק גרסה מקוצרת. יש לו מספר סידורי כמו null-device-N, ורוב הניסיונות לבצע פעולות יתבצעו ללא פעולה או יגרמו לזריקת שגיאה.