Chạy kiểm thử NFC trên nhiều thiết bị (Android 15)

Tài liệu này giải thích cách chạy các kiểm thử NFC trên nhiều thiết bị.

Đáp ứng các điều kiện tiên quyết

Trước khi chạy các kiểm thử NFC trên nhiều thiết bị, hãy làm như sau:

  1. Chuẩn bị một thiết bị có chế độ triển khai Android 15.
  2. Tuân thủ các yêu cầu của CTS-V.
  3. Làm theo chế độ thiết lập CTS-V.

Chuẩn bị một DUT và một đầu đọc NFC PN532 cho bài kiểm thử

Sau khi hoàn tất các bước trước đó, hãy làm theo các bước sau để chuẩn bị DUT và đầu đọc NFC PN532 cho kiểm thử:

  1. Kết nối DUT với một máy chủ qua USB.
  2. Cấp quyền cho máy chủ truy cập vào DUT qua ADB.
  3. Cài đặt ứng dụng Trình xác minh CTS (CtsVerifier.apk) trên DUT:

    extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
    
    cd android-cts-verifier
    
    adb install -r -g CtsVerifier.apk
    
  4. Cài đặt các APK cần thiết để kiểm thử NFC:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

Thiết lập NFC cho DUT

Làm theo các bước sau để thiết lập NFC cho DUT:

  1. Trên DUT, hãy chuyển đến trình đơn Cài đặt.
  2. Tìm phần NFC hoặc Thiết bị đã kết nối.
  3. Đảm bảo bạn đã bật công tắc NFC.
  4. Đặt chip NFC lên đầu đọc NFC của điện thoại:

    1. Mua một chip NFC PN532. Bạn nên dùng All-In-One PN532, không phải BLE.
    2. Gắn chip NFC PN532 vào máy chủ Linux bằng cáp USB.
    3. Đặt chip NFC PN532 lên đầu đọc NFC của điện thoại như trong hình sau:

    Vị trí của chip NFC

    Hình 1. Vị trí đặt chip NFC.

Thiết lập môi trường kiểm thử

Hãy làm theo các bước sau để thiết lập môi trường kiểm thử:

  1. Chạy các lệnh sau để thiết lập môi trường kiểm thử:

    cd MultiDevice
    
    source build/envsetup.sh
    

    Lệnh này kiểm tra Python và thiết lập biến môi trường PYTHONPATH. Nếu không có lỗi nào được in ra thiết bị đầu cuối, thì môi trường đã sẵn sàng chạy các kiểm thử trên nhiều thiết bị.

    Nếu bạn thấy thông báo lỗi libtinfo.so.6: no version information available (required by /bin/sh) trong thời gian chạy, hãy chạy lệnh sau để đổi tên tệp libtinfo.so.6:

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. Thiết lập băng thử nghiệm bằng cách đặt mã nhận dạng nối tiếp của thiết bị đang thử nghiệm và đầu đọc NFC PN532 trong MultiDevice/config.yml:

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

Chạy các quy trình kiểm thử NFC

Cách chạy các bài kiểm thử NFC:

  1. Mở ứng dụng CTS-V rồi nhấn vào NFC Tests (Kiểm thử NFC):

    Ứng dụng CTS-V

    Hình 2. Ứng dụng CTS-V.

    Cửa sổ thông tin có danh sách các trường hợp kiểm thử sẽ xuất hiện:

    Các trường hợp kiểm thử ứng dụng CTS-V

    Hình 3. Các trường hợp kiểm thử ứng dụng CTS-V.

  2. Chạy kiểm thử trên máy chủ của bạn:

    MultiDevice$ python3 tools/run_all_tests.py
    

    Khi các kiểm thử hoàn tất, kết quả kiểm thử sẽ được cập nhật trong ứng dụng CTS-V. Các kiểm thử thành công có màu xanh lục:

    Kết quả kiểm thử CTS-V

    Hình 4. Kết quả kiểm thử CTS-V.

  3. Nếu bạn thấy bất kỳ lỗi nào được đánh dấu màu đỏ, hãy dùng lệnh sau để chạy lại các kiểm thử không thành công:

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

    Trong trường hợp:

    • TestCaseATestCaseB là tên của các trường hợp kiểm thử xuất hiện trong CTS-V.
    • TestFileA là tệp kiểm thử chứa các trường hợp kiểm thử.

    Ví dụ:

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