הכלי לאימות חבילת הבדיקות לתאימות (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 כדי להעניק את תפקיד דפדפן ברירת המחדל.
משנים את מצב הניווט במערכת של מכשיר הבדיקה למצב של שלושה לחצנים באופן הבא:
- פותחים את ההגדרות.
- עוברים אל מערכת > אינטראקציה > מצב ניווט.
- בוחרים במצב ניווט שמבוסס על לחצנים. מומלץ לבחור במצב של שלושה לחצנים, אם הוא זמין.
כדי להגדיר את סביבת הבדיקה של CTS Verifier:
במחשב עם Linux:
- לפני שמתקינים את CTS Verifier, מריצים את הפקודה הבאה כדי לאפשר גישה לממשקי non-SDK:
adb shell settings put global hidden_api_policy 1מתקינים את Android Studio.
מורידים את קובץ ה-APK של CTS Verifier לגרסת Android שרוצים לבדוק.
מחברים את ה-DUT למחשב Linux.
מטרמינל במחשב עם Linux, מתקינים את
CtsVerifier.apkב-DUT:adb install -r -g CtsVerifier.apkב-Android מגרסה 10 ואילך, מריצים את הפקודה הבאה כדי לתת לאפליקציה הרשאה ליצור את הדוח:
adb shell appops set com.android.cts.verifier android:read_device_identifiers allowב-Android 11 ואילך, מריצים את הפקודה הבאה כדי לאפשר שמירת דוחות בספרייה שהוגדרה על ידי המשתמש בספרייה החיצונית ברמה העליונה של המכשיר:
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0ב-Android מגרסה 13 ואילך, מריצים את הפקודה הבאה כדי לאפשר גישה לבדיקת API ל-CTS Verifier:
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierב-Android מגרסה 14 ואילך, מריצים את הפקודה הבאה כדי לתת לאפליקציה הרשאה להפעיל את המסך:
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0ב-Android 17 ואילך, מריצים את הפקודה הבאה כדי להעניק את תפקיד דפדפן ברירת המחדל ל-CTS Verifier:
adb shell 'cmd role add-role-holder --user $(am get-current-user) android.app.role.BROWSER com.android.cts.verifier'מוודאים שהתאריך והשעה במערכת של ה-DUT מוגדרים בצורה נכונה.
הרצת CTS Verifier
מפעילים את אפליקציית CTS Verifier בהקשה על הסמל שלה ב-DUT.
איור 1. הסמל של CTS Verifier.
באפליקציה מוצגות כמה סדרות בדיקות שזמינות לאימות ידני.
איור 2. תפריט הבדיקות ב-CTS Verifier.
כל בדיקה מכילה קבוצה של רכיבים משותפים בחלק התחתון של המסך.
איור 3. מסך בדיקה עם רכיבי בדיקה נפוצים מודגשים.
- עובר (✓). מקישים אם ה-DUT עומד בדרישות הבדיקה לפי ההוראות שבקטע 'מידע'.
- מידע (?). מקישים כדי להציג את הוראות המבחן. מופיע גם באופן אוטומטי בפעם הראשונה שפותחים בדיקה.
- נכשל (!). מקישים אם ה-DUT לא עומד בדרישות הבדיקה לפי ההוראות שבקטע 'מידע'.
חלק מהבדיקות, כמו מצב אביזר USB, דורשות הגדרת בדיקה והוראות נוספות, כפי שמפורט בקטעים הבאים.
בדיקת מצב אביזר USB בגרסה 8.0 ואילך
איור 4. תהליך בדיקה של אביזרי USB בגרסה 8.0 ומעלה.
איור 5. בדיקת מצב אביזר USB בגרסה 8.0 ומעלה.
בדיקת מצב אביזר USB בגרסה 7.x ומטה
כדי לבצע את הבדיקה של אביזר ה-USB, צריך מחשב Linux כדי להריץ את תוכנת המחשב (המארח) של ה-USB.
- מחברים את ה-DUT למחשב Linux.
במחשב, מריצים את התוכנה
cts-usb-accessoryמחבילת CTS Verifier:./cts-usb-accessoryמחכים להופעת תיבת דו-שיח ב-DUT, ואז מקישים על אישור.
איור 6. בדיקת אביזר USB
עוברים אל USB Accessory Test (בדיקת אביזר USB) באפליקציית CTS Verifier ב-DUT.
במחשב, בודקים את הפלט מהמסוף. פלט לדוגמה:
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, צריך להעביר את הלחצן למצב התצוגה המתאים ולהריץ את רשימת הבדיקות שמוצגת.
איור 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.
כדי לשמור את תוצאות הבדיקה, מקישים על סמל השמירה (דיסק) בחלק העליון של רשימת קטגוריות הבדיקה.
מחכים לתיבת דו-שיח שבה מוצג הנתיב לדוח השמור (לדוגמה,
/sdcard/verifierReports/ctsVerifierReport-date-time.zip), ואז רושמים את הנתיב.מחברים את ה-DUT למחשב Linux.
מתוך התקנת 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 ```
כדי לנקות את התוצאות של המעבר או הכישלון, בוחרים את התוצאות באפליקציית CTS Verifier ואז בוחרים באפשרות תפריט > ניקוי.