הרצת בדיקות CTS

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

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

  1. מגדירים מכשירים בבדיקה (DUT) לפי הגדרת מכשיר Android.
  2. מוודאים שמותקנות הגרסאות האחרונות של Android Debug Bridge‏ (adb) ושל Android Asset Packaging Tool‏ (AAPT), ומוסיפים את המיקום של הכלים האלה לנתיב המערכת של המכונה. למידע על התקנת הכלים האלה, ראו הגדרת CTS: ADB ו-AAPT.
  3. מורידים את גרסאות ה-CTS שפורסמו במכונה המארחת של Linux ומחלצים את קובץ ה-build למיקום המארח.
  4. צריך לחבר לפחות מכשיר אחד. כדי להכין את דוחות ה-DUT:
    • לוחצים על לחצן הבית כדי להגדיר את המכשיר למסך הבית.
    • אין להשתמש ב-DUT למשימות אחרות.
    • חשוב לשמור על המכשיר הבדיקה (DUT) במצב נייח כדי לא להפעיל את הפעילות של החיישן.
    • מכוונים את מצלמת המכשיר לאובייקט שאפשר להתמקד בו.
    • אין ללחוץ על מקשים כלשהם במכשיר בזמן שה-CTS פועל. לחיצה על מקשים או מגע במסך של מכשיר ה-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 מפורטות בחומר העזר בנושא פקודות במסוף או בקטע 'help all' במסוף Tradefed.

  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 Retry.

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

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

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

הפעלת CTS באמצעות תחנת בדיקות ל-Android

Android Test Station הוא כלי אוטומציה לבדיקות שמשמש מפתחי Android ומהנדסי בדיקות לצורך הפעלת חבילות בדיקות רגילות באמצעות ממשק משתמש. הוא פועל עם חבילת בדיקת התאימות של Android (CTS).

הכלי זמין לכולם דרך מדריך המשתמש של 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.