เรียกใช้การทดสอบ 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 (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 และเครื่องอ่าน 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"