เรียกใช้การทดสอบ NFC แบบหลายอุปกรณ์

เอกสารนี้อธิบายวิธีทำการทดสอบ NFC จากหลายอุปกรณ์

มีคุณสมบัติตรงตามข้อกําหนดเบื้องต้น

ก่อนทำการทดสอบ NFC หลายอุปกรณ์ ให้ทำดังนี้

  1. เตรียมอุปกรณ์ที่ใช้ Android 15
  2. ปฏิบัติตามข้อกำหนด CTS-V
  3. ทำตามการตั้งค่า CTS-V

เตรียม DUT และเครื่องอ่าน NFC PN532 สำหรับการทดสอบ

หลังจากทำตามขั้นตอนก่อนหน้าเสร็จแล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อเตรียม DUT และเครื่องอ่าน NFC PN532 สำหรับการทดสอบ

  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 ให้ไปที่เมนูการตั้งค่า
  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. ตั้งค่าเตียงทดสอบโดยตั้งค่าหมายเลขซีเรียลของอุปกรณ์ของตัวอ่าน DUT และ PN532 NFC ใน 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"