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

במסמך הזה מוסבר איך להריץ בדיקות NFC במספר מכשירים.

עמידה בדרישות מוקדמות

לפני שמריצים בדיקות NFC מרובות מכשירים, צריך לבצע את הפעולות הבאות:

  1. מכינים מכשיר עם הטמעת Android 15.
  2. פועלים לפי הדרישות של CTS-V.
  3. פועלים לפי ההגדרה של CTS-V.

הכנת מכשיר הבדיקה (DUT) וקורא NFC מסוג PN532 לבדיקה

אחרי שמסיימים את השלבים הקודמים, מכינים את התלמידים לבדיקה באמצעות קורא DUT וקורא PN532 NFC:

  1. מחברים את ה-DUT למכונה המארחת באמצעות USB.
  2. נותנים למארח הרשאות גישה ל-DUT דרך ADB.
  3. מתקינים את אפליקציית CTS Verifier‏ (CtsVerifier.apk) ב-DUT:

    extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
    
    cd android-cts-verifier
    
    adb install -r -g CtsVerifier.apk
    
  4. מתקינים את חבילות ה-APK הנדרשות לבדיקה של NFC:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

הגדרת NFC ל-DUT

כדי להגדיר את ה-NFC ב-DUT, מבצעים את השלבים הבאים:

  1. ב-DUT, עוברים לתפריט Settings.
  2. מחפשים את הקטע NFC או מכשירים מחוברים.
  3. מוודאים שהמתג של NFC מופעל.
  4. ממקמים שבב NFC בקורא ה-NFC של הטלפון:

    1. רוכשים שבב NFC מסוג PN532. מומלץ להשתמש באפשרות All-In-One PN532, שאינה BLE.
    2. מחברים את צ'יפ ה-NFC מסוג PN532 למארח Linux באמצעות כבל USB.
    3. מניחים את שבב ה-NFC מסוג PN532 מעל קורא ה-NFC של הטלפון, כפי שמוצג בתמונה הבאה:

    מיקום צ'יפ ה-NFC

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

הגדרה של סביבת הבדיקה

כדי להגדיר את סביבת הבדיקה:

  1. מריצים את הפקודות הבאות כדי להגדיר את סביבת הבדיקה:

    cd MultiDevice
    
    source build/envsetup.sh
    

    הפקודה הזו בודקת את Python ומגדירה את משתנה הסביבה PYTHONPATH. אם לא מודפסות שגיאות במסוף, הסביבה מוכנה להריץ את הבדיקות במספר מכשירים.

    אם מוצגת הודעת השגיאה libtinfo.so.6: no version information available (required by /bin/sh) בזמן הריצה, מריצים את הפקודה הבאה כדי לשנות את שם הקובץ libtinfo.so.6:

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. מגדירים את המזהים הסידוריים של מכשיר הבדיקה ושל קורא ה-NFC PN532 בקובץ MultiDevice/config.yml:

    TestBeds:
      - Name: CtsNfcHceMultiDeviceTestCases-py-ctsv
        Controllers:
          AndroidDevice:
            - serial: "<device-id>"
        TestParams:
          pn532_serial_path: "<pn532-serial-path>"
    

הפעלת בדיקות ה-NFC

כדי להריץ את בדיקות ה-NFC:

  1. פותחים את אפליקציית CTS-V ומקישים על בדיקות NFC:

    אפליקציית CTS-V

    איור 2. אפליקציית CTS-V.

    חלון המידע עם רשימת תרחישי הבדיקה מופיע:

    מקרי הבדיקה של אפליקציית CTS-V

    איור 3. תרחישי בדיקה של אפליקציות CTS-V.

  2. מריצים את הבדיקות במארח:

    MultiDevice$ python3 tools/run_all_tests.py
    

    בסיום הבדיקות, תוצאות הבדיקה מתעדכנות באפליקציית CTS-V. בדיקות שהושלמו בהצלחה מוצגות בצבע ירוק:

    תוצאות הבדיקה של ה-CTS-V

    איור 4. תוצאות הבדיקה של CTS-V.

  3. אם רואים כשלים שמסומנים באדום, משתמשים בפקודה הבאה כדי להריץ מחדש את הבדיקות שנכשלו:

    python3 tools/run_all_tests.py --test_cases "`TestCaseA`" "`TestCaseB`" --test_files "`TestFileA`"
    

    איפה:

    • TestCaseA ו-TestCaseB הם שמות תרחישי הבדיקה כפי שהם מוצגים ב-CTS-V.
    • TestFileA הוא קובץ הבדיקה שמכיל את מקרי הבדיקה.

    לדוגמה:

    python3 tools/run_all_tests.py --test_cases "test_conflicting_non_payment" "test_conflicting_non_payment_prefix" --test_files "CtsNfcHceMultiDeviceTestCases-py-ctsv"