Trade Federation היא מסגרת לבדיקות רציפות להרצת בדיקות במכשירי Android. כדי להריץ את חבילה לבדיקות תאימות (CTS), קודם צריך לקרוא את הסקירה הכללית על Trade Federation כדי להבין את מסגרת הבדיקות של Tradefed.
כדי להריץ תוכנית בדיקה:
- מגדירים את המכשירים שנבדקים (DUT) בהתאם להגדרת מכשיר Android.
- מוודאים שמותקנות הגרסאות האחרונות של Android Debug Bridge (adb) ושל Android Asset Packaging Tool (AAPT), ומוסיפים את המיקום של הכלים האלה לנתיב המערכת של המכונה. למידע על התקנת הכלים האלה, ראו הגדרת CTS: ADB ו-AAPT.
- מורידים את גרסאות ה-build של CTS שפורסמו למכונה המארחת של Linux, ופותחים את קובץ ה-zip של ה-build במיקום המארח.
- צריך לחבר לפחות מכשיר אחד. כדי להכין את ה-DUT:
- לוחצים על הלחצן בית כדי להציג את מסך הבית במכשיר.
- אין להשתמש ב-DUT למשימות אחרות.
- חשוב לשמור על המכשיר הבדיקה (DUT) במצב נייח כדי לא להפעיל את הפעילות של החיישן.
- מכוונים את המצלמה של המכשיר לאובייקט שאפשר להתמקד בו.
- אין ללחוץ על מקשים במכשיר בזמן שהבדיקה פועלת. לחיצה על מקשים או מגע במסך של מכשיר ה-DUT מפריעים לבדיקות שפועלות, ויכולים להוביל לכשלים בבדיקות.
מריצים את הסקריפט cts-tradefed של מסוף CTS מהתיקייה שבה פורק החבילה של CTS. מעבירים את הקובץ 'config.json' למארח, ומריצים את הפקודה הבאה במסוף שורת הפקודה:
./android-cts/tools/cts-tradefed
מריצים את תוכנית הבדיקה שמוגדרת כברירת מחדל (כוללת את כל חבילות הבדיקה):
- ב-CTS 11 וגרסאות קודמות
cts-tradefed > run cts
ב-CTS 12 ואילך
cts-console > run cts
כדי לשפר את זמן ביצוע הבדיקה, אפשר לפצל את הבדיקות לכמה מכשירים. כדי להשתמש בחלוקה למקטעים, המארח צריך לחבר לפחות שני מכשירים, אבל מומלץ לחבר שישה מכשירים או יותר כדי לשפר את היעילות. כשמבצעים חלוקה ליותר ממכשיר אחד:
במכשירי Android מגרסה 9 ואילך, משתמשים באפשרות הפקודה
--shard-count number_of_shards
ב-Android מגרסה 8.1 ומטה, משתמשים באפשרות הפקודה
--shards number_of_shards
אם אתם לא רוצים להריץ את כל חבילת הבדיקות, תוכלו להריץ את תוכנית ה-CTS שבחרתם בשורת הפקודה:
run cts --plan test_plan_name
כדי למצוא את שם תוכנית הבדיקה:
ב-Android מגרסה 7.0 ואילך, כדי להציג רשימה של מודולי בדיקה, מזינים
list modules
ב-Android מגרסה 6.0 ומטה, כדי להציג רשימה של תוכניות בדיקה במאגר, מזינים
list plans
במכשירי Android מגרסה 6.0 ומטה, כדי להציג רשימה של חבילות בדיקה במאגר, מזינים
list packages
אפשרויות נוספות של פקודות בהתאם לגרסאות CTS מפורטות בחומר העזר בנושא פקודות במסוף או בקטע 'help all' במסוף Tradefed.
- ב-CTS 11 וגרסאות קודמות
מריצים כמה סשנים של ניסיונות חוזרים עד שכל המודולים של הבדיקה הושלמו ומספרי הכשל בבדיקה זהים בשני הסשנים האחרונים של הניסיונות החוזרים.
במכשירי Android מגרסה 9 ואילך, צריך להשתמש ב-
run retry --retry session_number --shard-count number_of_shards
במכשירי Android מגרסה 7.0 עד 8.1, משתמשים ב-
run cts --retry session_number --shards number_of_shards
אפשרויות נוספות לפקודה 'Retry' בהתאם לגרסה של CTS מפורטות במאמר מסוף הפקודה של CTS v2.
לפרטים על ההטמעה של ניסיון חוזר ב-CTS, ראו Trade Federation Suite Retry.
מריצים סשן ניסיון חוזר רק בבדיקות עם פרמטרים שנכשלו. לא מתבצעת ניסיון חוזר לבדיקות עם פרמטרים שעברו.
ב-Android מגרסה 11 ואילך, אפשרות הפקודה הבאה לניסיון חוזר מופעלת כברירת מחדל בפקודה
run cts
:run retry --retry
--new-parameterized-handling
הצגת ההתקדמות והתוצאות של הבדיקה שדווחו במסוף.
הפעלת CTS באמצעות תחנת בדיקות ל-Android
Android Test Station הוא כלי אוטומציה לבדיקות שמשמש מפתחי Android ומהנדסי בדיקות כדי להשתמש בממשק משתמש להרצת חבילות בדיקות רגילות. הוא פועל עם חבילה לבדיקות תאימות (CTS) של Android.
הכלי זמין לכולם דרך מדריך המשתמש של ATS, והקוד שלו הוא קוד פתוח ב-AOSP (multitest_transport
, tradefed_cluster
).
הפעלת CTS למצבים חלופיים
במהדורה CTS 10 R4 נוספה תוכנית בדיקה למכשירים עם מצבים חלופיים, או למכשירים עם יותר מסך אחד. מריצים את תוכנית הבדיקה של המצבים החלופיים באמצעות run cts-foldable
.
לתרחישים של בדיקות שעברו או נכשלו במצב מסך חלופי מצורף הערך מ-display_mode
, לדוגמה, testcase1[display_mode=0]
.
ב-CTS 13, ה-DeviceStateManager API מאפשר להריץ מודולי בדיקה עם אפשרות התצורה הבאה במצבים שונים של מכשיר מתקפל.
ביצוע הבדיקה ב-CTS הוא אוטומטי, על סמך מצבי קיפול המסך שמוגדרים במכשיר, בלי צורך להריץ את תוכנית הבדיקה cts-foldable
.
<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />
בדיקה במספר מכשירים ב-CTS
ב-Android מגרסה 13 ואילך יש תמיכה בבדיקות במספר מכשירים.
בדיקות שדורשות כמה מכשירים מופעלות באופן אוטומטי במהלך ההרצה של CTS.
CTS 13 כולל כמה בדיקות במכשירים מרובים שמופעלות באופן אוטומטי כשמשתמשים בחלוקה לפלחים. כדי לבצע את הבדיקות, אין צורך לבצע שינויים נוספים בהגדרה הפיזית, אבל צריך להתקין את virtualenv
כדי שהבדיקות יפעלו כמו שצריך. למידע נוסף, קראו את המאמר חבילות שירות למספר מכשירים.
הרצת בדיקות במספר מכשירים
כדי להריץ בדיקה במספר מכשירים בנפרד, משתמשים בקוד הבא:
cts-tradefed > run cts-multidevice
יש תמיכה בכל האפשרויות הרגילות. כדי לטרגט מכשירים ספציפיים, מוסיפים --serial <serial1> --serial <serial2>
וכן הלאה לפי מספר המכשירים שרוצים לטרגט.
כדי להפעיל בדיקות במספר מכשירים באופן אוטומטי, משתמשים בחלוקה למקטעים (sharding), כמו ב---shard-count 2
.