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

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

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

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

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

הכנת מכשיר לבדיקה וקורא NFC PN532 לבדיקה

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

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

    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 במכשיר הנבדק:

  1. ב-DUT, עוברים לתפריט הגדרות.
  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 Tests (בדיקות 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"