בדף הזה מפורטות הוראות לשימוש בבדיקות במכשירים מרובים של CTS Verifier (CTS-V) עבור Android מגרסה 16 ואילך.
הגדרת בדיקות במספר מכשירים בצד המארח
בקטע הזה נסביר איך מגדירים בדיקות במספר מכשירים.
- מוודאים שמחשב השולחן עומד בדרישות של מערכת ההפעלה ל-CTS.
- מבצעים את השלבים 2 ו-5 בקטע התקנת תוכנה למחשב כדי לוודא ש-adb, AAPT2 ו-Python מותקנים כראוי במחשב.
מכינים שני מכשירים תואמים לבדיקה (DUTs), שמוגדרת בהם CTS-V.
- מידע על הגדרת מכשיר DUT זמין במאמר הגדרת מכשיר DUT.
- הוראות להגדרת CTS-V מפורטות בקטע הגדרה.
אם אתם בודקים מודול שאינו NFC, פועלים לפי ההוראות במאמר הגדרת בדיקות רגילות בשני מכשירים.
- לבדיקות NFC, פועלים לפי ההוראות במאמר הגדרת בדיקות NFC.
אם אתם בודקים את מודול ה-CDM, עליכם לפעול לפי ההוראות במאמר הגדרת בדיקות CDM בנוסף להגדרה הרגילה של שני מכשירים.
הגדרת בדיקות רגילות בשני מכשירים
בהגדרת ברירת המחדל לשני מכשירים:
- מניחים שני מכשירי DUT תואמים של Android במרחק של כ-20 ס"מ זה מזה.
כדי להבטיח סביבה נקייה, יש להציב את שני המכשירים בתיבת הגנה.
(אופציונלי) מגדירים ניטור OTA לניפוי באגים ב-Wi-Fi.
הגדרת בדיקות NFC
בבדיקות NFC נעשה שימוש ב-DUT אחד ובצ'יפ NFC מסוג PN532.
כדי להגדיר בדיקות NFC:
- רוכשים שבב NFC מסוג PN532. מומלץ להשתמש ב-All-In-One PN532.
במכשיר הבדיקה, עוברים לאפליקציה הגדרות.
מפעילים את האפשרות NFC.
ממקמים את שבב ה-NFC:
בטלפונים, ממקמים את קורא ה-NFC של ה-DUT כפי שמוצג באיור 1:
איור 1. מיקום שבב ה-NFC.
בסוגים אחרים של מכשירים, צריך למקם את הצ'יפ ליד אנטנת ה-NFC של המכשיר.
מחברים את צ'יפ ה-NFC מסוג PN532 לתחנת העבודה לבדיקה באמצעות כבל USB.
הגדרת בדיקות של CDM
התנהגות מקרה הבדיקה test_permissions_sync()
משתנה בהתאם לסוג ה-build של המכשירים שבהם מתבצע הבדיקה. חשוב מאוד ש-OEMs יבדקו גם גרסאות build שניתן לנפות בהן באגים (userdebug או eng) וגם גרסאות build שלא ניתן לנפות בהן באגים (user), וששתיהן יעברו את הבדיקות.
פטור
סעיף ה-CDD להטמעת ה-API לסנכרון ההרשאות מחייב רק שה-API יוכל להעביר נתונים בין מכשירים בצורה תקינה דרך ערוץ מאובטח. מאחר שהטמעת הערוץ המאובטח היא לא דרישה לתאימות ל-CDD, אפשר לדלג על הבדיקה הזו בגרסאות build (של משתמשים) שלא ניתן לנפות בהן באגים, אבל רק אם רוצים לבטל את התמיכה בתכונה של סנכרון ההרשאות ב-CDM.
הבדיקות חייבות לעבור בגרסאות build שניתן לנפות בהן באגים, ללא יוצא מן הכלל.
דרישות מוקדמות לבדיקה בגרסאות build שלא ניתן לנפות בהן באגים
אם אתם לא פטורים לפי סעיפי הפטור הקודמים, עליכם לוודא שאתם עומדים בדרישות המקדימות הבאות.
בערוץ המאובטח נעשה שימוש ב-AVF (AttestationVerificationFramework
) כדי לאמת את האמינות של החומרה. האימותים שנוצרים על ידי שני הצדדים מכילים כמה פרטי מידע על עצמם, כדי לוודא שלא בוצעה שום שינוי לא מורשה במערכת שלהם. במהלך תהליך האימות, AVF בודק את המצבים הבאים:
- למכשיר יש גישה לאינטרנט
- המכשיר משתמש באתחול מאומת, והגרסה המאוחדת (build) חייבת להיות חתומה באמצעות מפתח גרסה (release-key), ולא באמצעות מפתח פיתוח (dev-key)
- תוכנת האתחול של המכשיר נעולה. להוראות מפורטות, ראו נעילת מנהל האתחול
- רמות התיקונים של מערכת ההפעלה, של הפעלת המפתחות ושל הספק של המפתחות הן בטווח של 12 חודשים. אל תשתמשו ב-build ישן משנה
אימות המכשיר מבוסס על אחד מהאישורים ברמה הבסיסית (root) שאושרו על ידי הספק. מציינים את אישורי הבסיס המהימנים בשכבת-העל של המשאב
vendor_required_attestation_certificates.xml
.
הרצת בדיקות במספר מכשירים בצד המארח (AOSP 16 ואילך)
בגרסה 16 של CTS Verifier נוספה תמיכה בבדיקות במספר מכשירים בצד המארח. אפשר להריץ את הבדיקות האלה באמצעות סקריפטים אוטומטיים במארח, במקום לבצע את פעולת הבדיקה באופן ידני במכשיר. בסיום כל בדיקה, התוצאות מועלות באופן אוטומטי ל-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, מריצים את הפקודה הבאה: הערה: אם מקישים על מודול בצד המארח באפליקציית CTS Verifier, לא תוצג רשימה של תרחישי בדיקה ספציפיים. במקום זאת, ממשק המשתמש מאוכלס באופן אוטומטי בתוצאות של תרחישי הבדיקה אחרי שהמודול מופעל במארח.
במסוף xTS, מריצים את הפקודה הבאה:
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 של ה-DUT אין אפשרות לזהות את ה-PN532.
אם יש לכם כמה מכשירים שמחוברים למארח, וחלק מהם לא כוללים PN532 בחלק העליון, יכול להיות שבחרתם את ה-DUT הלא נכון. מידע נוסף זמין במאמר הגדרת בדיקות NFC.
כדי לפתור את הבעיה, אפשר לנסות אחד מהפתרונות הבאים:
מגדירים את המספר הסידורי הנכון של ה-DUT בפקודת הבדיקה בצד המארח באמצעות הדגל
-s
.מנתקים מהמארח את כל המכשירים שאינם DUT.
התעלמות ממקרה הבדיקה test_permissions_sync
ב-CDM
אם הבדיקה פועלת במכשירים שלא ניתן לנפות בהם באגים, כדאי לבדוק אם אתם פטורים. אחרת, צריך לוודא ששני המכשירים עומדים בדרישות המוקדמות.