Federation (איחוד הסחר) הוא מסגרת בדיקה רציפה (CD) להרצת בדיקות ב-Android מכשירים. כדי להריץ את חבילה לבדיקות תאימות (CTS), קודם צריך לקרוא את הסקירה הכללית על Trade Federation כדי להבין את מסגרת הבדיקות של Tradefed.
כדי להפעיל תוכנית לבדיקה:
- מגדירים את המכשירים שנבדקים (DUT) בהתאם להגדרת מכשיר Android.
- מוודאים שהתקנתם את הגרסאות האחרונות של שני המכשירים גשר לניפוי באגים ב-Android (adb) וגם כלי אריזת נכסי Android (AAPT) והוספנו את המיקום של הכלים האלה לנתיב המערכת של המכונה. לקבלת מידע על התקנת הכלים האלה, אפשר לעיין במאמר הגדרת CTS: ADB ו-AAPT.
- מורידים את גרסאות ה-CTS שפורסמו אל מכונה מארחת של Linux ומחלצים את תוכן ה-build כדי לארח את המארח.
- צריך לחבר לפחות מכשיר אחד. כדי להכין את ה-DUT:
- לוחצים על הלחצן בית כדי להציג את מסך הבית במכשיר.
- אל תשתמשו ב-DUT למשימות אחרות.
- יש להשאיר את מכשיר ה-DUT במיקום נייח כדי למנוע הפעלת החיישן פעילות.
- מכוונים את המצלמה של המכשיר לאובייקט שאפשר להתמקד בו.
- אין ללחוץ על מקשים במכשיר בזמן שהבדיקה פועלת. לחיצה מקשים או נגיעה במסך של DUT מפריעות לביצוע הבדיקות ועלולים לגרום לכשלים בבדיקות.
הפעלת הסקריפט cts-tradefed של מסוף ה-CTS מהתיקייה שבה ה-CTS החבילה הוסרה מהדחיסה. מעבירים את הקובץ 'config.json' למארח, ומריצים את הפקודה הבאה במסוף שורת הפקודה:
./android-cts/tools/cts-tradefed
מריצים את תוכנית הבדיקה שמוגדרת כברירת מחדל (כוללת את כל חבילות הבדיקה):
cts-tradefed > 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, קראו את הסבר על פקודות מסוף, או בקטע 'עזרה לכולם' במסוף TradeFederal.
מריצים כמה סשנים של ניסיונות חוזרים עד שכל המודולים של הבדיקה הושלמו ומספרי הכשל בבדיקה זהים בשני הסשנים האחרונים של הניסיונות החוזרים.
ב-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
מריצים סשן ניסיון חוזר רק בבדיקות עם פרמטרים שנכשלו. עברה לא מתבצע ניסיון חוזר של בדיקות עם פרמטרים.
ב-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, ממשק ה-API של DeviceStateManager מאפשר מודולים לבדיקה עם הרכיבים הבאים:
את אפשרות ההגדרה כך שתפעל במצבי מכשיר שונים של מכשיר מתקפל.
ביצוע הבדיקה הוא אוטומטי ב-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
.