הרצת בדיקות 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. מורידים את גרסאות ה-build של CTS שפורסמו למכונה המארחת של Linux, ופותחים את קובץ ה-zip של ה-build במיקום המארח.
  4. צריך לחבר לפחות מכשיר אחד. כדי להכין את ה-DUT:
    • לוחצים על הלחצן בית כדי להציג את מסך הבית במכשיר.
    • אין להשתמש ב-DUT למשימות אחרות.
    • חשוב לשמור על המכשיר הבדיקה (DUT) במצב נייח כדי לא להפעיל את הפעילות של החיישן.
    • מכוונים את המצלמה של המכשיר לאובייקט שאפשר להתמקד בו.
    • אין ללחוץ על מקשים במכשיר בזמן שהבדיקה פועלת. לחיצה על מקשים או מגע במסך של מכשיר ה-DUT מפריעים לבדיקות שפועלות, ויכולים להוביל לכשלים בבדיקות.
  5. מריצים את הסקריפט cts-tradefed של מסוף CTS מהתיקייה שבה פורק החבילה של CTS. מעבירים את הקובץ 'config.json' למארח, ומריצים את הפקודה הבאה במסוף שורת הפקודה:

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

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

  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 ומהנדסי בדיקות כדי להשתמש בממשק משתמש להרצת חבילות בדיקות רגילות. הוא פועל עם חבילה לבדיקות תאימות (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.