בדף הזה מוסבר איך להשתמש בבדיקות מרובות מכשירים של CTS Verifier (CTS-V) ב-Android 16 ובגרסאות מתקדמות יותר.
הגדרה של בדיקות מרובות מכשירים בצד המארח
בקטע הזה נסביר איך מגדירים בדיקות במספר מכשירים.
- מוודאים שהמחשב שלכם עומד בדרישות מערכת ההפעלה של CTS.
- פועלים לפי שלבים 2 ו-5 במאמר בנושא התקנת תוכנה למחשב כדי לוודא ש-adb, AAPT2 ו-Python מותקנים במחשב בצורה נכונה.
מכינים שני מכשירים זהים שנבדקים (DUT), שלכל אחד מהם מוגדר CTS-V.
- במאמר הגדרת ה-DUT מוסבר איך מגדירים את ה-DUT.
- הוראות להגדרת CTS-V מופיעות במאמר הגדרה.
אם אתם בודקים מודול שאינו NFC, פועלים לפי ההוראות שבקטע הגדרה של בדיקות רגילות בשני מכשירים.
- לניסויי NFC, פועלים לפי ההוראות במאמר הגדרת ניסויי NFC.
אם אתם בודקים את מודול ה-CDM, עליכם לפעול לפי ההוראות שבקטע הגדרה של בדיקות CDM בנוסף להגדרה הרגילה של שני מכשירים.
הגדרת בדיקות רגילות בשני מכשירים
בהגדרה של שני מכשירים כברירת מחדל:
- ממקמים שני מכשירי DUT תואמים של Android במרחק של כ-20 ס"מ זה מזה.
כדי להבטיח סביבה נקייה, מניחים את שני המכשירים בתוך קופסת מיגון.
(אופציונלי) מגדירים כלי לניתוח תעבורת נתונים (sniffer) של OTA לניפוי באגים ב-Wi-Fi.
הגדרת בדיקות NFC
בבדיקות NFC נעשה שימוש ב-DUT אחד ובשבב NFC PN532.
כדי להגדיר בדיקות NFC:
- רוכשים שבב NFC PN532. מומלץ להשתמש ב-All-In-One PN532.
ב-DUT, עוברים לאפליקציית ההגדרות.
מפעילים את NFC.
ממקמים את שבב ה-NFC:
בטלפונים, ממקמים את קורא ה-NFC של ה-DUT כמו שמוצג באיור 1:
איור 1. מיקום שבב ה-NFC.
בסוגי מכשירים אחרים, ממקמים את הצ'יפ ליד אנטנת ה-NFC של המכשיר.
מחברים את שבב ה-NFC PN532 לתחנת העבודה לבדיקה באמצעות כבל USB.
הגדרת בדיקות CDM
ההתנהגות של test_permissions_sync()
תלויה בסוג ה-build של המכשירים שבהם מריצים את הבדיקה. חשוב מאוד שספקי OEM יבדקו גם גרסאות שניתנות לניפוי באגים (userdebug או eng) וגם גרסאות שלא ניתנות לניפוי באגים (user), ושהבדיקות יעברו בהצלחה בשתי הגרסאות.
פטור
סעיף ה-CDD להטמעה של API לסנכרון הרשאות דורש רק שה-API יוכל להעביר נתונים בין מכשירים בצורה מוצלחת דרך ערוץ מאובטח. ההטמעה של הערוץ המאובטח לא נדרשת לצורך תאימות ל-CDD, ולכן אפשר לדלג על הבדיקה הזו בגרסאות שאי אפשר לבצע בהן ניפוי באגים (גרסאות משתמש), אבל רק אם אתם רוצים לבטל את ההסכמה לתמיכה בתכונת סנכרון ההרשאות של ה-CDM.
הבדיקות צריכות לעבור בגרסאות build שניתנות לניפוי באגים, ללא יוצא מן הכלל.
דרישות מוקדמות לבדיקה בגרסאות build שלא ניתן לנפות בהן באגים
אם אתם לא פטורים לפי סעיפי הפטור הקודמים, אתם צריכים לוודא שמתקיימות הדרישות המקדימות הבאות.
הערוץ המאובטח משתמש ב-AVF (AttestationVerificationFramework
) כדי לאמת את מהימנות החומרה. האישורים שנוצרים על ידי שני הצדדים מכילים כמה פריטי מידע על עצמם, כדי לוודא שלא בוצע שינוי לא מורשה במערכת שלהם. במהלך תהליך האימות, מערכת AVF בודקת את המצבים הבאים:
- למכשיר יש גישה לאינטרנט
- המכשיר משתמש באתחול מאומת, וגרסת ה-build צריכה להיות חתומה באמצעות מפתח הפצה ולא באמצעות מפתח פיתוח.
- תוכנת האתחול של המכשיר נעולה. הוראות מפורטות זמינות במאמר בנושא נעילת טוען האתחול
- רמות התיקון של הספק של מערכת ההפעלה, של הפעלת המפתח ושל המפתח הן בטווח של 12 חודשים. לא מומלץ להשתמש בגרסה שגיל שלה הוא יותר משנה
אימות המכשיר מגובה באחד מאישורי הבסיס שאושרו על ידי הספק. מציינים את אישורי הבסיס המהימנים בכיסוי המשאבים
vendor_required_attestation_certificates.xml
.
הרצת בדיקות מרובות מכשירים בצד המארח (AOSP 16 ואילך)
ב-CTS Verifier 16 נוספה תמיכה בבדיקות מרובות מכשירים בצד המארח. אפשר להריץ את הבדיקות האלה באמצעות סקריפטים אוטומטיים במארח, במקום לבצע את הבדיקה באופן ידני במכשיר. אחרי שכל בדיקה מסתיימת, התוצאות מועלות אוטומטית אל ה-DUT ומוצגות באפליקציית CTS Verifier.
בקטע הזה מוסבר איך מריצים את הבדיקות מרובות המכשירים בצד המארח.
הרצת בדיקות בכמה מכשירים
כדי להריץ בדיקה בכמה מכשירים:
בתחנת העבודה לבדיקה, מפעילים את מסוף
cts-v-host
מהספרייה שבה בוצעה פתיחת הקובץ של חבילת ה-ZIP של CTS-V:./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
באפליקציית CTS Verifier ב-DUT, לוחצים על Host-side Tests (בדיקות בצד המארח). באיור 2 מוצגים הבדיקות בצד המארח באפליקציית CTS Verifier:
איור 2. בדיקות של כמה מכשירים בצד המארח באפליקציית CTS Verifier.
מוצגת רשימה של מודולים לבדיקת ריבוי מכשירים בצד המארח.
מזהים את השם של מודול הבדיקה שרוצים להריץ. לדוגמה, המודול CompanionDeviceManager מופיע כ-CtsCompanionDeviceManagerMultiDeviceTestCases.
במסוף של cts-v-host, מריצים את הפקודה הבאה:
run cts-v-host -m test_module_name
לדוגמה:
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
אחרי שהבדיקות מסתיימות במסוף xTS, התוצאות מופיעות באפליקציית CTS Verifier. הבדיקות שמסומנות בירוק עברו בהצלחה. הבדיקות שמסומנות באדום נכשלו. איור 3 מציג תוצאות לדוגמה של הבדיקות CtsCompanionDeviceManager:
איור 3. תוצאות הבדיקה של כמה מכשירים בצד המארח באפליקציית CTS Verifier.
פתרון בעיות בבדיקות בכמה מכשירים
בקטע הזה אנחנו מציעים עזרה בפתרון בעיות אפשריות.
פתרון הבעיה 'אין תגובה לפונקציה GetFirmwareVersion במהלך בדיקות NFC'
אם קיבלתם את ההודעה verify_firmware_version RuntimeError: No response
for GetFirmwareVersion
במהלך הפעלת הבדיקות של ריבוי המכשירים, המשמעות היא שלבדיקות אין גישה ללוח ה-NFC PN532.
כדי לפתור את הבעיה, צריך לזהות את הנתיב הטורי שבו נעשה שימוש בלוח ה-NFC PN532 במארח, כמו dev/ttyUSB1
, ואז לציין אותו באופן ידני באמצעות הארגומנט --module-arg
במסוף:
run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1
פתרון הודעת השגיאה 'העסקה נכשלה' במהלך בדיקות NFC
אם קיבלתם את ההודעה Transaction failed, check device logs for more
information.
לכל תרחישי הבדיקה של NFC, סביר להניח שזה קורה כי שבב ה-NFC של המכשיר הנבדק לא יכול לזהות את PN532.
אם יש לכם כמה מכשירים שמחוברים למארח, וחלק מהם לא כוללים PN532, יכול להיות שנבחר DUT שגוי. מידע נוסף זמין במאמר בנושא הגדרת בדיקות NFC.
כדי לפתור את הבעיה, אפשר:
מגדירים את המספר הסידורי הנכון של ה-DUT בפקודת הבדיקה בצד המארח באמצעות הדגל
-s
.מנתקים את כל המכשירים שאינם DUT מהמארח.
המערכת מתעלמת מתרחיש הבדיקה test_permissions_sync
של CDM
אם הבדיקה מופעלת במכשירים שלא ניתן לבצע בהם ניפוי באגים, צריך לבדוק אם אתם פטורים. אחרת, צריך לוודא ששני המכשירים עומדים בדרישות המוקדמות.