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 bài 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 bài 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ó quá trình triển khai Android 15.
  2. Tuân thủ các yêu cầu của CTS-V.
  3. Tuân thủ quy trình 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ị một DUT và một đầu đọc NFC PN532 cho bài 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 cho bài kiểm thử NFC:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

Thiết lập NFC cho DUT

Hãy 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. Xác minh rằng nút bật/tắt NFC đang bật.
  4. Đặt chip NFC trên đầu đọc NFC của điện thoại:

    1. Mua một chip NFC PN532. Bạn nên dùng tuỳ chọn Tất cả trong một PN532, không dùng 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 trê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 thử nghiệm

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 thử nghiệm:

    cd MultiDevice
    
    source build/envsetup.sh
    

    Lệnh này sẽ 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 bài 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 môi trường kiểm thử bằng cách đặt mã sê-ri 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 các bài 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 (Bài 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ử của ứng dụng CTS-V.

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

    MultiDevice$ python3 tools/run_all_tests.py
    

    Khi các bài 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 bài kiểm thử thành công sẽ 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 bài 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ư 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"