הכלי Android Compatibility Test Suite Verifier (CTS Verifier) משלים את חבילת הבדיקות לתאימות (CTS). בזמן ש-CTS בודק ממשקי API ופונקציות שאפשר לבצע אוטומציה שלהם, CTS Verifier מספק בדיקות לממשקי API ולפונקציות שלא ניתן לבדוק במכשיר נייח ללא קלט ידני או מיקום, כמו איכות שמע, מסך מגע, מד תאוצה ומצלמה.
דרישות
לפני שמריצים את CTS Verifier, חשוב לוודא שיש לכם את הציוד הבא:
- מכשיר מבוסס-Android שעבר את בדיקת התאימות של Android API על ידי מעבר בדיקת ה-CTS. זהו המכשיר שנבדק (DUT).
- מחשב Linux עם יציאה שתואמת ל-USB 2.0. כל החיבורים ל-DUT עוברים דרך היציאה הזו.
- מכשיר שני מבוסס-Android עם הטמעה תואמת ידועה של Bluetooth, Wi-Fi Direct, Wi-Fi Aware, UWB (אם המכשיר הנבדק תומך ב-UWB) ואמולציה של כרטיס מבוסס-מארח (HCE) של NFC.
- נתב Wi-Fi שמוגדר עם שם וסיסמה של נקודת גישה. לנתב צריכה להיות אפשרות להתנתק מהאינטרנט בלי לכבות אותו.
חשוב גם להכין את החצובות, את מחזיקי המכשירים ואת המרחקים שנמדדו מראש שנדרשים לבדיקות המרחק (הקרבה) למדידת UWB, Wi-Fi NAN ו-Bluetooth RSSI. פרטים נוספים זמינים במאמר בנושא כיול של נוכחות.
דרישות UICC לבדיקות NFC
ב-CTS Verifier יש את תרחישי הבדיקה הבאים של NFC:
- השדה כבוי (השימוש הוא בנתוני עסקאות מ-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
בצד האמולטור, אנחנו מצפים שאירוע העסקה ידחוף את הפעילות המתאימה לחזית.
הגדרה
משנים את מצב הניווט במערכת של מכשיר הבדיקה למצב של שלושה לחצנים באופן הבא:
- פותחים את Settings (הגדרות).
- עוברים אל מערכת > תנועות > ניווט במערכת.
- אם יש אפשרות, בוחרים במצב ניווט שמבוסס על לחצנים, ועדיף במצב של שלושה לחצנים.
כדי להגדיר את סביבת הבדיקה של CTS Verifier:
במחשב עם Linux:
- לפני שמתקינים את CTS Verifier, מריצים את הפקודה הבאה כדי לאפשר גישה לממשקי API שאינם 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מוודאים שהתאריך והשעה במערכת של ה-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 במכשיר הנבדק.
במחשב, בודקים את הפלט מהמסוף. פלט לדוגמה:
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
כיול של שדה הראייה של המצלמה
אפשר להשתמש בהליך הכיול של שדה הראייה כדי לקבוע במהירות את שדה הראייה של המכשיר ברמת דיוק בינונית.
מגדירים את סביבת הבדיקה:
- מדפיסים את קובץ היעד calibration pattern PDF על נייר בגודל 11" x 17" או A3.
- מדביקים את הדוגמה המודפסת על משטח קשיח.
ממקמים את מכשיר המצלמה ואת המטרה המודפסת כמו שמוצג בתרשים הבא:
איור 7. מטרה מודפסת של המצלמה.
מגדירים את רוחב היעד:
- מודדים את המרחק (בסנטימטרים) בין הקווים המלאים בתבנית המטרה כדי לפצות על אי דיוקים בהדפסה (כ-38 ס"מ).
- מפעילים את אפליקציית הכיול.
- לוחצים על לחצן ההגדרה ובוחרים באפשרות מרחק הסמן.
- מודדים את המרחק לדוגמת המטרה ומזינים אותו (כ-100 ס"מ).
- לוחצים על לחצן 'הקודם' כדי לחזור לתצוגה המקדימה של הכיול.
מוודאים שהמכשיר והיעד ממוקמים כמו שמוצג באיור, ושהמרחקים הנכונים הוזנו בתיבת הדו-שיח של ההגדרה. בתצוגה המקדימה מוצגת התמונה עם קו אנכי שמונח עליה. הקו הזה צריך להיות מיושר עם קו האמצע של דפוס המטרה. אפשר להשתמש ברשת השקופה עם הקווים האנכיים האחרים כדי לוודא שהציר האופטי ניצב למטרה.
מריצים את בדיקת הכיול:
- בוחרים את רזולוציית התמונה (באמצעות הכלי לבחירה בפינה הימנית התחתונה), ואז מקישים על המסך כדי לצלם תמונה. הבדיקה עוברת למצב כיול והתמונה מוצגת עם שתי שורות אנכיות שמוצגות על התמונה.
- קובעים את רמת הדיוק:
- אם הקווים מתיישרים עם הקווים האנכיים בתבנית היעד בטווח של כמה סנטימטרים, שדה הראייה שדווח ברזולוציה שנבחרה מדויק.
- אם הקווים לא מיושרים, שדה הראייה שמופיע בדוח לא מדויק. כדי לתקן את זה, מכווננים את פס ההזזה בתחתית המסך עד שהשכבה העליונה תהיה כמה שיותר קרובה לתבנית היעד. כששכבת העל ותמונת דפוס היעד מיושרות, שדה הראייה שמוצג הוא קירוב קרוב לערך הנכון. שדה הראייה המדווח צריך להיות בטווח של 2 מעלות מערך הכיול.
- לוחצים על הלחצן חזרה וחוזרים על בדיקת הכיול לכל רזולוציות התמונה שנתמכות על ידי המכשיר הנבדק.
הרצת CTS Verifier למצבים חלופיים
החל מגרסאות CTS 10 R6 ו-CTS 11 R2, CTS Verifier תומך בבדיקות שנדרשות למכשירים עם מצבים חלופיים או למכשירים עם יותר ממצב מסך אחד.
בחלק העליון של תצוגת הרשימה הראשית ב-CTS Verifier מוצג לחצן שמאפשר למשתמשים לעבור בין מצב תצוגה לא מקופל למצב תצוגה מקופל. ב-CTS Verifier יוצגו הבדיקות הנדרשות למצב התצוגה שנבחר. כדי להפעיל את המצבים החלופיים ב-CTS Verifier, צריך להעביר את הלחצן למצב התצוגה המתאים ולהריץ את רשימת הבדיקות שמוצגת.
איור 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.
כדי לשמור את תוצאות הבדיקה, מקישים על סמל השמירה (דיסק) בחלק העליון של רשימת קטגוריות הבדיקה.
מחכים להופעת תיבת דו-שיח שבה מוצג הנתיב לדוח השמור (לדוגמה,
/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 ובוחרים באפשרות תפריט > ניקוי.