הרצת בדיקות במכשירים מרובים באמצעות CTS Verifier

בדף הזה מפורטות הוראות לשימוש בבדיקות במכשירים מרובים של CTS Verifier‏ (CTS-V) עבור Android מגרסה 16 ואילך.

הגדרת בדיקות במספר מכשירים בצד המארח

בקטע הזה נסביר איך מגדירים בדיקות במספר מכשירים.

  1. מוודאים שמחשב השולחן עומד בדרישות של מערכת ההפעלה ל-CTS.
  2. מבצעים את השלבים 2 ו-5 בקטע התקנת תוכנה למחשב כדי לוודא ש-adb,‏ AAPT2 ו-Python מותקנים כראוי במחשב.
  3. מכינים שני מכשירים תואמים לבדיקה (DUTs), שמוגדרת בהם CTS-V.

  4. אם אתם בודקים מודול שאינו NFC, פועלים לפי ההוראות במאמר הגדרת בדיקות רגילות בשני מכשירים.

  5. אם אתם בודקים את מודול ה-CDM, עליכם לפעול לפי ההוראות במאמר הגדרת בדיקות CDM בנוסף להגדרה הרגילה של שני מכשירים.

הגדרת בדיקות רגילות בשני מכשירים

בהגדרת ברירת המחדל לשני מכשירים:

  1. מניחים שני מכשירי DUT תואמים של Android במרחק של כ-20 ס"מ זה מזה.
  2. כדי להבטיח סביבה נקייה, יש להציב את שני המכשירים בתיבת הגנה.

  3. (אופציונלי) מגדירים ניטור OTA לניפוי באגים ב-Wi-Fi.

הגדרת בדיקות NFC

בבדיקות NFC נעשה שימוש ב-DUT אחד ובצ'יפ NFC מסוג PN532.

כדי להגדיר בדיקות NFC:

  1. רוכשים שבב NFC מסוג PN532. מומלץ להשתמש ב-All-In-One PN532.
  2. במכשיר הבדיקה, עוברים לאפליקציה הגדרות.

  3. מפעילים את האפשרות NFC.

  4. ממקמים את שבב ה-NFC:

    • בטלפונים, ממקמים את קורא ה-NFC של ה-DUT כפי שמוצג באיור 1:

      מיקום שבב ה-NFC

      איור 1. מיקום שבב ה-NFC.

    • בסוגים אחרים של מכשירים, צריך למקם את הצ'יפ ליד אנטנת ה-NFC של המכשיר.

  5. מחברים את צ'יפ ה-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.

בקטע הזה מוסבר איך מפעילים את הבדיקות במכשירים מרובים בצד המארח.

הרצת בדיקות במספר מכשירים

כדי להריץ בדיקה במספר מכשירים:

  1. בתחנת העבודה לבדיקה, מריצים את מסוף cts-v-host מהספרייה שבה פורק קובץ ה-zip של CTS-V:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. באפליקציית CTS Verifier ב-DUT, לוחצים על Host-side Tests. באיור 2 מוצגים הבדיקות בצד המארח באפליקציית CTS Verifier:

    בדיקות במספר מכשירים בצד המארח באפליקציית CTS Verifier

    איור 2. בדיקות במכשירים מרובים בצד המארח באפליקציית CTS Verifier.

    תוצג רשימה של מודולים של בדיקות במכשירים מרובים בצד המארח.

  3. מציינים את השם של מודול הבדיקה שרוצים להריץ. לדוגמה, המודול CompanionDeviceManager מופיע בתור CtsCompanionDeviceManagerMultiDeviceTestCases.

  4. במסוף cts-v-host, מריצים את הפקודה הבאה: הערה: אם מקישים על מודול בצד המארח באפליקציית CTS Verifier, לא תוצג רשימה של תרחישי בדיקה ספציפיים. במקום זאת, ממשק המשתמש מאוכלס באופן אוטומטי בתוצאות של תרחישי הבדיקה אחרי שהמודול מופעל במארח.

  5. במסוף xTS, מריצים את הפקודה הבאה:

    run cts-v-host -m test_module_name
    

    לדוגמה:

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    אחרי שמסוף xTS מסיים להריץ את הבדיקות, התוצאות מופיעות באפליקציית CTS Verifier. בדיקות שמסומנות בירוק עברו. בדיקות שמסומנות באדום נכשלו. באיור 3 מוצגות תוצאות לדוגמה של הבדיקות של CtsCompanionDeviceManager:

    תוצאות בדיקה של כמה מכשירים בצד המארח באפליקציית CTS Verifier

    איור 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

אם הבדיקה פועלת במכשירים שלא ניתן לנפות בהם באגים, כדאי לבדוק אם אתם פטורים. אחרת, צריך לוודא ששני המכשירים עומדים בדרישות המוקדמות.