הרצת בדיקות CTS-V

הכלי לאימות חבילת הבדיקות לתאימות (CTS Verifier) משלים את חבילת הבדיקות לתאימות (CTS). ב-CTS נבדקים ממשקי API ופונקציות שאפשר לבצע אוטומציה שלהם, וב-CTS Verifier נבדקים ממשקי API ופונקציות שלא ניתן לבדוק במכשיר נייח ללא קלט ידני או מיקום, כמו איכות שמע, מסך מגע, מד תאוצה ומצלמה.

דרישות

לפני שמריצים את CTS Verifier, חשוב לוודא שיש לכם את הציוד הבא:

  • מכשיר מבוסס-Android שעבר את בדיקת התאימות של Android API על ידי מעבר בדיקת ה-CTS. זהו המכשיר שנבדק (DUT).
  • מחשב Linux עם יציאה שתואמת ל-USB 2.0. כל החיבורים ל-DUT עוברים דרך היציאה הזו.
  • מכשיר שני מבוסס-Android עם הטמעה תואמת ידועה של Bluetooth, ‏Wi-Fi ישיר, ‏Wi-Fi Aware, ‏UWB (אם המכשיר הנבדק תומך ב-UWB) ו-Host Card Emulation (HCE) של NFC.
  • נתב Wi-Fi שהוגדר עם שם וסיסמה של נקודת גישה. לנתב צריכה להיות אפשרות להתנתק מהאינטרנט בלי לכבות אותו.

חשוב גם להכין את החצובות, את מחזיקי המכשירים ואת המרחקים שנמדדו מראש שנדרשים לבדיקות המרחק (הקרבה) למדידה של UWB,‏ Wi-Fi NAN ו-Bluetooth RSSI. פרטים נוספים מופיעים במאמר בנושא כיול של נוכחות.

דרישות UICC לבדיקות NFC

ב-CTS Verifier יש את תרחישי הבדיקה הבאים של NFC:

  • Field-off (שימוש בנתוני עסקאות מ-0x54)
  • ביטול הבחירה (שימוש בנתוני עסקאות מ-0x52)
  • פקודת HCI ‏ (0025000000) (משתמשת בנתוני עסקאות מ-0x02)

בדיקות של אירועי עסקאות דורשות שני מכשירים, שאחד מהם צריך להיות עם SecureElement UICC עם כללי הגישה הבאים:

  • גיבוב (hash) של קובץ ה-APK של CtsVerifier: ‏ 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
  • מזהה אפליקציה מורשה (AID) לגישה לאירועי NFC: ‏ 0xA000000476416E64726F696443545341

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

הגדרה

ב-Android 17 נדרש שלב נוסף בהגדרת CTS-V כדי להעניק את תפקיד דפדפן ברירת המחדל.

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

  1. פותחים את ההגדרות.
  2. עוברים אל מערכת > אינטראקציה > מצב ניווט.
  3. בוחרים במצב ניווט שמבוסס על לחצנים. מומלץ לבחור במצב של שלושה לחצנים, אם הוא זמין.

כדי להגדיר את סביבת הבדיקה של CTS Verifier:

  1. במחשב עם Linux:

    1. לפני שמתקינים את CTS Verifier, מריצים את הפקודה הבאה כדי לאפשר גישה לממשקי non-SDK:
    adb shell settings put global hidden_api_policy 1
    
    1. מתקינים את Android Studio.

    2. מורידים את קובץ ה-APK של CTS Verifier לגרסת Android שרוצים לבדוק.

  2. מחברים את ה-DUT למחשב Linux.

  3. מטרמינל במחשב עם Linux, מתקינים את CtsVerifier.apk ב-DUT:

    adb install -r -g CtsVerifier.apk
    
  4. ב-Android מגרסה 10 ואילך, מריצים את הפקודה הבאה כדי לתת לאפליקציה הרשאה ליצור את הדוח:

    adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
    
  5. ב-Android 11 ואילך, מריצים את הפקודה הבאה כדי לאפשר שמירת דוחות בספרייה שהוגדרה על ידי המשתמש בספרייה החיצונית ברמה העליונה של המכשיר:

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
    
  6. ב-Android מגרסה 13 ואילך, מריצים את הפקודה הבאה כדי לאפשר גישה לבדיקת API ל-CTS Verifier:

    adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
    
  7. ב-Android מגרסה 14 ואילך, מריצים את הפקודה הבאה כדי לתת לאפליקציה הרשאה להפעיל את המסך:

    adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
    
  8. ב-Android 17 ואילך, מריצים את הפקודה הבאה כדי להעניק את תפקיד דפדפן ברירת המחדל ל-CTS Verifier:

    adb shell 'cmd role add-role-holder --user $(am get-current-user) android.app.role.BROWSER com.android.cts.verifier'
    
  9. מוודאים שהתאריך והשעה במערכת של ה-DUT מוגדרים בצורה נכונה.

הרצת CTS Verifier

מפעילים את אפליקציית CTS Verifier בהקשה על הסמל שלה ב-DUT.

הסמל של CTS Verifier במרכז האפליקציות

איור 1. הסמל של CTS Verifier.

באפליקציה מוצגות כמה סדרות בדיקות שזמינות לאימות ידני.

תפריט הבדיקות של CTS Verifier

איור 2. תפריט הבדיקות ב-CTS Verifier.

כל בדיקה מכילה קבוצה של רכיבים משותפים בחלק התחתון של המסך.

כלי לאימות איכות הווידאו בסטרימינג

איור 3. מסך בדיקה עם רכיבי בדיקה נפוצים מודגשים.

  • עובר (✓). מקישים אם ה-DUT עומד בדרישות הבדיקה לפי ההוראות שבקטע 'מידע'.
  • מידע (?). מקישים כדי להציג את הוראות המבחן. מופיע גם באופן אוטומטי בפעם הראשונה שפותחים בדיקה.
  • נכשל (!). מקישים אם ה-DUT לא עומד בדרישות הבדיקה לפי ההוראות שבקטע 'מידע'.

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

בדיקת מצב אביזר USB בגרסה 8.0 ואילך

בדיקת אביזר USB ב-CTS Verifier

איור 4. תהליך בדיקה של אביזרי USB בגרסה 8.0 ומעלה.

בדיקת אביזר USB ב-CTS Verifier

איור 5. בדיקת מצב אביזר USB בגרסה 8.0 ומעלה.

בדיקת מצב אביזר USB בגרסה 7.x ומטה

כדי לבצע את הבדיקה של אביזר ה-USB, צריך מחשב Linux כדי להריץ את תוכנת המחשב (המארח) של ה-USB.

  1. מחברים את ה-DUT למחשב Linux.
  2. במחשב, מריצים את התוכנה cts-usb-accessory מחבילת CTS Verifier:

    ./cts-usb-accessory
    
  3. מחכים להופעת תיבת דו-שיח ב-DUT, ואז מקישים על אישור.

    בדיקת אביזר USB ב-CTS Verifier

    איור 6. בדיקת אביזר USB

  4. עוברים אל USB Accessory Test (בדיקת אביזר USB) באפליקציית CTS Verifier ב-DUT.

  5. במחשב, בודקים את הפלט מהמסוף. פלט לדוגמה:

    CTS USB Accessory Tester
    Found possible Android device (413c:2106) - attempting to switch to accessory
    mode...
    Failed to read protocol versionfigure3
    Found Android device in accessory mode (18d1:2d01)...
    [RECV] Message from Android device #0
    [SENT] Message from Android accessory #0
    [RECV] Message from Android device #1
    [SENT] Message from Android accessory #1
    [RECV] Message from Android device #2
    [SENT] Message from Android accessory #2
    [RECV] Message from Android device #3
    [SENT] Message from Android accessory #3
    [RECV] Message from Android device #4
    [SENT] Message from Android accessory #4
    [RECV] Message from Android device #5
    [SENT] Message from Android accessory #5
    [RECV] Message from Android device #6
    [SENT] Message from Android accessory #6
    [RECV] Message from Android device #7
    [SENT] Message from Android accessory #7
    [RECV] Message from Android device #8
    [SENT] Message from Android accessory #8
    [RECV] Message from Android device #9
    [SENT] Message from Android accessory #9
    [RECV] Message from Android device #10
    [SENT] Message from Android accessory #10
    

הרצת CTS Verifier למצבים חלופיים

החל מגרסאות CTS 10 R6 ו-CTS 11 R2,‏ CTS Verifier תומך בבדיקות שנדרשות למכשירים עם מצבים חלופיים או למכשירים עם יותר ממצב מסך אחד.

בחלק העליון של תצוגת הרשימה הראשית ב-CTS Verifier מוצג לחצן שמאפשר למשתמשים לעבור בין מצב תצוגה לא מקופל למצב תצוגה מקופל. ב-CTS Verifier יוצגו הבדיקות הנדרשות למצב התצוגה שנבחר. כדי להריץ את המצבים החלופיים ב-CTS Verifier, צריך להעביר את הלחצן למצב התצוגה המתאים ולהריץ את רשימת הבדיקות שמוצגת.

מתג דו-מצבי של CTS-V

איור 7. מתג דו-מצבי של CTS Verifier.

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

<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
  <RunHistory subtest="CREATE_ALARM[folded]">
    <Run start="1594176663973" end="1594176665841" isAutomated="false" />
  </RunHistory>
</Test>

ייצוא תוצאות

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

  1. כדי לשמור את תוצאות הבדיקה, מקישים על סמל השמירה (דיסק) בחלק העליון של רשימת קטגוריות הבדיקה.

  2. מחכים לתיבת דו-שיח שבה מוצג הנתיב לדוח השמור (לדוגמה, /sdcard/verifierReports/ctsVerifierReport-date-time.zip), ואז רושמים את הנתיב.

  3. מחברים את ה-DUT למחשב Linux.

  4. מתוך התקנת Android SDK במחשב עם Linux, מורידים דוחות מהמכשיר המחובר באמצעות adb shell content read או adb pull CTSVerifierReportPath.

    • ב-Android 7.x ובגרסאות מתקדמות יותר, מורידים את כל הדוחות באמצעות הפקודה הבאה:

      adb pull /sdcard/verifierReports
      
    • ב-Android מגרסה 6.0 ומטה, מורידים את כל הדוחות באמצעות הפקודה הבאה:

      adb pull /mnt/sdcard/ctsVerifierReports/
      
    • ב-Android 10 ומעלה, כדי להטמיע Automotive ומכשירים שפועלים כמשתמש משני, מורידים את הדוח האחרון באמצעות הפקודה הבאה:

      adb shell content read --user <var>CURRENT_USER</var> --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
      

      כדי לראות רשימה של כל הדוחות שזמינים במכשיר המחובר:

        adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports
        ```
      
      To download a report from the list, you can specify the Row ID or
      filename. For example:
      
      ```shell
        adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip
        ```
      
      ```shell
        adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ctsVerifierReport-date-time.zip > report.zip
        ```
      
  5. כדי לנקות את התוצאות של המעבר או הכישלון, בוחרים את התוצאות באפליקציית CTS Verifier ואז בוחרים באפשרות תפריט > ניקוי.