הרצת בדיקות CTS

Federation (איחוד הסחר) הוא מסגרת בדיקה רציפה (CD) להרצת בדיקות ב-Android מכשירים. כדי להריץ את חבילה לבדיקות תאימות (CTS), קודם צריך לקרוא את הסקירה הכללית על Trade Federation כדי להבין את מסגרת הבדיקות של Tradefed.

כדי להפעיל תוכנית לבדיקה:

  1. מגדירים את המכשירים שנבדקים (DUT) בהתאם להגדרת מכשיר Android.
  2. מוודאים שהתקנתם את הגרסאות האחרונות של שני המכשירים גשר לניפוי באגים ב-Android (adb) וגם כלי אריזת נכסי Android (AAPT) והוספנו את המיקום של הכלים האלה לנתיב המערכת של המכונה. לקבלת מידע על התקנת הכלים האלה, אפשר לעיין במאמר הגדרת CTS: ADB ו-AAPT.
  3. מורידים את גרסאות ה-CTS שפורסמו אל מכונה מארחת של Linux ומחלצים את תוכן ה-build כדי לארח את המארח.
  4. צריך לחבר לפחות מכשיר אחד. כדי להכין את ה-DUT:
    • לוחצים על הלחצן בית כדי להציג את מסך הבית במכשיר.
    • אל תשתמשו ב-DUT למשימות אחרות.
    • יש להשאיר את מכשיר ה-DUT במיקום נייח כדי למנוע הפעלת החיישן פעילות.
    • מכוונים את המצלמה של המכשיר לאובייקט שאפשר להתמקד בו.
    • אין ללחוץ על מקשים במכשיר בזמן שהבדיקה פועלת. לחיצה מקשים או נגיעה במסך של DUT מפריעות לביצוע הבדיקות ועלולים לגרום לכשלים בבדיקות.
  5. הפעלת הסקריפט cts-tradefed של מסוף ה-CTS מהתיקייה שבה ה-CTS החבילה הוסרה מהדחיסה. מעבירים את הקובץ 'config.json' למארח, ומריצים את הפקודה הבאה במסוף שורת הפקודה:

    ./android-cts/tools/cts-tradefed
  6. מריצים את תוכנית הבדיקה שמוגדרת כברירת מחדל (כוללת את כל חבילות הבדיקה):

    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.

  7. מריצים כמה סשנים של ניסיונות חוזרים עד שכל המודולים של הבדיקה הושלמו ומספרי הכשל בבדיקה זהים בשני הסשנים האחרונים של הניסיונות החוזרים.

    • ב-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

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

    • ב-Android מגרסה 11 ואילך, האפשרות הבאה של פקודה חוזרת מופעלת כברירת מחדל בפקודה run cts:

      run retry --retry  --new-parameterized-handling
  9. הצגת ההתקדמות והתוצאות של הבדיקה שדווחו במסוף.

הפעלת 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.