שימוש ב-CTS Verifier

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

דרישות

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

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

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

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

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

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

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

  • גיבוב 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

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

הגדרה

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

  1. פותחים את Settings (הגדרות).
  2. עוברים אל מערכת > תנועה > ניווט במערכת.
  3. בוחרים מצב ניווט מבוסס-לחצנים, עדיף מצב ניווט ב-3 לחצנים, אם הוא זמין.

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

  1. במחשב עם Linux:

    • מריצים את הפקודה הבאה לפני התקנת CTS Verifier כדי לאפשר גישה לממשקים שאינם SDK.

      adb shell settings put global hidden_api_policy 1
      
    • מתקינים את Android Studio.

    • מורידים את ה-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 ואילך, מריצים את הפקודה הבאה כדי לאפשר ל-CTS Verifier לגשת ל-API לבדיקה.

    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. מוודאים שהתאריך והשעה ב-DUT מוגדרים בצורה נכונה.

הפעלת CTS Verifier

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

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

איור 1. סמל של מאמת CTS

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

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

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

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

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

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

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

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

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

בדיקת CTS Verifier של אביזר USB

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

בדיקת CTS Verifier של אביזר USB

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

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

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

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

    ./cts-usb-accessory
  3. ממתינים להצגת הודעה קופצת ב-DUT ובוחרים באפשרות OK.
    בדיקת CTS Verifier של אביזר USB

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

  4. עוברים לבדיקה של אביזרי 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
    

כיול שדה הראייה של המצלמה

אפשר להשתמש בתהליך הכיול של שדה הראייה כדי לקבוע במהירות את שדה הראייה של המכשיר ברמת דיוק בינונית.

  1. מגדירים את סביבת הבדיקה:

    1. מדפיסים את קובץ היעד calibration-pattern.pdf על נייר בגודל 11" x 17" או A3.
    2. מדביקים את התבנית המודפסת על גב קשיח.
    3. מכוונים את מצלמת המכשיר ואת היעד המודפס כמו שמוצג בתרשים הבא.
      יעד מודפס במצלמה

      איור 7. יעד מודפס במצלמה

  2. מגדירים את רוחב היעד:

    1. מודדים את המרחק (בסנטימטרים) בין הקווים המוצקים בדפוס היעד, כדי להביא בחשבון אי-דיוקים בהדפסה (כ-38 ס"מ).
    2. מפעילים את אפליקציית הכיול.
    3. לוחצים על לחצן ההגדרה ובוחרים באפשרות Marker distance.
    4. מודדים את המרחק לתבנית היעד ומזינים אותו (כ-100 ס"מ).
    5. לוחצים על לחצן החזרה כדי לחזור לתצוגה המקדימה של תהליך ההתאמה.
  3. מוודאים שהמכשיר והיעד ממוקמים כפי שמוצג בתרשים, ושהמרחקים הנכונים הוכנסו לתיבת הדו-שיח של ההגדרה. בתצוגה המקדימה תוצג התמונה עם קו אנכי שמופיע מעל התמונה. הקו הזה צריך להיות מיושר עם קו המרכז של דפוס היעד. אפשר להשתמש ברשת השקופה עם הקווים האנכיים האחרים כדי לוודא שהציר האופטי אנכי ליעד.

  4. מריצים את בדיקת הכיול:

    1. בוחרים את רזולוציית התמונה (באמצעות הבורר בפינה הימנית התחתונה) ומקישים על המסך כדי לצלם. הבדיקה עוברת למצב כיול ומציגה את התמונה עם שני קווים אנכיים שמוטמעים בתמונה.
    2. בדיקת הדיוק:
      • אם הקווים תואמים לקווים האנכיים של דפוס היעד בטווח של כמה סנטימטרים, שדה הראייה שצוין ברזולוציה שנבחרה הוא מדויק.
      • אם הקווים לא מיושרים, שדה הראייה שמדווח לא מדויק. כדי לתקן את המצב, משנים את פס ההזזה שבתחתית המסך עד שהשכבה העליונה תואמת לדפוס היעד בצורה הקרובה ביותר. כששכבת-העל ותמונת התבנית של היעד מיושרות, שדה הראייה המוצג הוא משוער קרוב לערך הנכון. שדה הראייה שמדווח צריך להיות בטווח של +/-2 מעלות מערך העיבוד.
    3. לוחצים על לחצן החזרה אחורה וחוזר על בדיקת ההתאמה לכל רזולוציות התמונה הנתמכות ב-DUT.

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

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

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

מתג החלפת מצב ב-CTS-V

איור 8. מתג החלפת מצב של 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 CURRENT_USER --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
      

      כדי להוריד דוח מהרשימה, אפשר לציין את מזהה השורה או את שם הקובץ. לדוגמה:

      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip
      
      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/ctsVerifierReport-date-time.zip >
      report.zip
      
  5. כדי למחוק את תוצאות המעבר/הכשל, בוחרים את התוצאות באפליקציית CTS Verifier ובוחרים באפשרות תפריט > מחיקה.