תוכנת האימות של חבילה לבדיקות תאימות ל-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
בצד הסימולטור, אנחנו מצפים שאירוע העסקה ידחוף את הפעילות המתאימה לחזית.
הגדרה
משנים את מצב הניווט במערכת של מכשיר הבדיקה למצב של שלושה לחצנים באופן הבא:
- פותחים את Settings (הגדרות).
- עוברים אל מערכת > תנועה > ניווט במערכת.
- בוחרים מצב ניווט מבוסס-לחצנים, עדיף מצב של שלושה לחצנים, אם הוא זמין.
כדי להגדיר את סביבת הבדיקה של CTS Verifier:
במחשב Linux:
מריצים את הפקודה הבאה לפני התקנת CTS Verifier כדי לאפשר גישה לממשקים שאינם 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 על ידי הקשה על הסמל CTS Verifier ב-DUT.
איור 1. סמל המאמת של CTS
באפליקציה מוצגות כמה קבוצות בדיקות שזמינות לאימות ידני.
איור 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 ובוחרים באפשרות OK.
איור 6. בדיקה של אביזר USB
עוברים לבדיקה של אביזרי 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
כיול שדה הראייה של המצלמה
אפשר להשתמש בתהליך הכיול של שדה הראייה כדי לקבוע במהירות את שדה הראייה של המכשיר ברמת דיוק בינונית.
מגדירים את סביבת הבדיקה:
- מדפיסים את קובץ היעד calibration-pattern.pdf על נייר בגודל 11x17" או A3.
- מדביקים את התבנית המודפסת על גב קשיח.
מכוונים את מצלמת המכשיר ואת היעד המודפס כמו שמוצג בתרשים הבא.
איור 7. יעד שהדפסת באמצעות מצלמה
מגדירים את רוחב היעד:
- מודדים את המרחק (בס"מ) בין הקווים הרציפים בתבנית היעד כדי להביא בחשבון אי דיוקים בהדפסה (כ-38 ס"מ).
- מפעילים את אפליקציית הכיול.
- לוחצים על לחצן ההגדרה ובוחרים באפשרות Marker distance.
- מודדים ומזינים את המרחק לתבנית היעד (כ-100 ס"מ).
- לוחצים על לחצן 'הקודם' כדי לחזור לתצוגה המקדימה של תהליך ההתאמה.
מוודאים שהמכשיר והיעד ממוקמים כפי שמוצג באיור, ושהמרחקים הנכונים הוכנסו לתיבת הדו-שיח של ההגדרה. בתצוגה המקדימה תוצג התמונה עם קו אנכי שמופיע מעל התמונה. הקו הזה צריך להיות מיושר עם קו המרכז של דפוס היעד. אפשר להשתמש ברשת השקופה עם הקווים האנכיים האחרים כדי לוודא שהציר האופטי אנכי ליעד.
מריצים את בדיקת הכיול:
- בוחרים את רזולוציית התמונה (באמצעות הבורר בפינה הימנית התחתונה) ומקישים על המסך כדי לצלם. הבדיקה עוברת למצב כיול ומציגה את התמונה עם שני קווים אנכיים שמוטמעים בתמונה.
- קובעים את רמת הדיוק:
- אם הקווים תואמים לקווים האנכיים של דפוס היעד בטווח של כמה סנטימטרים, שדה הראייה שדווח ברזולוציה שנבחרה הוא מדויק.
- אם הקווים לא מיושרים, שדה הראייה שמדווח לא מדויק. כדי לתקן את המצב, משנים את פס ההזזה שבתחתית המסך עד שהשכבה העליונה תואמת לדפוס היעד בצורה הכי קרובה שאפשר. כששכבת-העל ותמונת התבנית של היעד מיושרות, שדה הראייה המוצג הוא משוער קרוב לערך הנכון. שדה הראייה שמדווח צריך להיות בטווח של +/-2 מעלות מערך העיבוד.
- לוחצים על הלחצן 'הקודם' וחוזרים על בדיקת הכיול לכל רזולוציות התמונות שנתמכות ב-DUT.
הפעלת CTS Verifier למצבים חלופיים
החל מהגרסאות CTS 10 R6 ו-CTS 11 R2, כלי CTS Verifier תומך בבדיקות הנדרשות למכשירים עם מצבים חלופיים או למכשירים עם יותר ממצב מסך אחד.
בחלק העליון של תצוגת הרשימה הראשית ב-CTS Verifier מופיע לחצן שמאפשר למשתמשים לעבור בין מצב תצוגה פתוח למצב תצוגה מקופל. ב-CTS Verifier יוצגו הבדיקות הנדרשות למצב התצוגה שנבחר. כדי להריץ את המצבים החלופיים ב-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 ואילך, אם מטמיעים כלי רכב ומכשירים שפועלים כמשתמש משני, צריך להוריד את הדוח העדכני באמצעות הפקודה הבאה:
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
כדי למחוק את תוצאות המעבר/הכשל, בוחרים את התוצאות באפליקציית CTS Verifier ובוחרים באפשרות Menu (תפריט) > Clear (ניקוי).