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

Tài liệu này giải thích cách chạy 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 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ị để triển khai Android 15.
  2. Tuân thủ các yêu cầu về CTS-V.
  3. Làm theo quy trình thiết lập CTS-V.

Chuẩn bị DUT và máy đọc NFC PN532 cho kiểm thử

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

  1. Kết nối DUT với 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 CTS Verifier (CtsVerifier.apk) trên thiết bị được kiểm thử (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 tệp APK cần thiết cho kiểm thử NFC:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

Thiết lập NFC cho thiết bị dùng thử

Hãy làm theo các bước sau để chạy quy trình thiết lập NFC cho DUT:

  1. Trên thiết bị được kiểm thử (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 nút bật/tắt NFC.
  4. Đặt một khối NFC trên đầu đọc NFC của điện thoại:

    1. Mua một chip NFC PN532. Bạn nên sử dụng tuỳ chọn All-In-One PN532 (Tất cả trong một 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í 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 thử nghiệm:

  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 chương trình kiểm thử 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 môi trường thử nghiệm bằng cách đặt mã nhận dạng thiết bị của DUT 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 kiểm thử NFC

Cách chạy 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 chương trình kiểm thử trên máy chủ lưu trữ:

    MultiDevice$ python3 tools/run_all_tests.py
    

    Khi 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. Kết quả kiểm thử thành công có màu xanh lục:

    Kết quả kiểm tra 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 bằng màu đỏ, hãy sử dụng lệnh sau để chạy lại các chương trình 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ử như hiển thị 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"