Birden fazla cihaz için NFC testlerini çalıştırma

Bu belgede, birden fazla cihazda NFC testlerinin nasıl çalıştırılacağı açıklanmaktadır.

Önkoşulları karşılama

Birden fazla cihazda NFC testlerini çalıştırmadan önce aşağıdakileri yapın:

  1. Android 15 uygulamanızı içeren bir cihaz hazırlayın.
  2. CTS-V koşullarını yerine getirin.
  3. CTS-V kurulumunu uygulayın.

Test için bir DUT ve PN532 NFC okuyucu hazırlayın

Önceki adımları tamamladıktan sonra, test için bir DUT ve PN532 NFC okuyucu hazırlamak üzere aşağıdaki adımları uygulayın:

  1. DUT'u USB üzerinden bir ana makineye bağlayın.
  2. Ana makinenin ADB üzerinden DUT'ya erişmesi için izin verin.
  3. DUT'ye CTS Doğrulayıcı uygulamasını (CtsVerifier.apk) yükleyin:

    extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
    
    cd android-cts-verifier
    
    adb install -r -g CtsVerifier.apk
    
  4. NFC testi için gerekli APK'ları yükleyin:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

DUT için NFC'yi ayarlama

DUT için NFC kurulumunu çalıştırmak üzere şu adımları uygulayın:

  1. DUT'ta Ayarlar menüsüne gidin.
  2. NFC veya Bağlı Cihazlar bölümünü bulun.
  3. NFC açma/kapatma düğmesinin açık olduğundan emin olun.
  4. Telefonun NFC okuyucusuna bir NFC çipi yerleştirin:

    1. PN532 NFC çipi edinin. BLE olmayan All-In-One PN532 seçeneğini öneririz.
    2. PN532 NFC çipini USB kablosuyla Linux ana makinesine takın.
    3. PN532 NFC çipini aşağıdaki resimde gösterildiği gibi telefonun NFC okuyucusunun üzerine yerleştirin:

    NFC çipi yerleşimi

    Şekil 1. NFC çipi yerleşimi.

Test ortamını ayarlama

Test ortamını ayarlamak için aşağıdaki adımları uygulayın:

  1. Test ortamını ayarlamak için aşağıdaki komutları çalıştırın:

    cd MultiDevice
    
    source build/envsetup.sh
    

    Bu komut, Python'u kontrol eder ve PYTHONPATH ortam değişkenini ayarlar. Terminale hata yazdırılmazsa ortam, çok cihazlı testleri çalıştırmaya hazırdır.

    Çalışma zamanında libtinfo.so.6: no version information available (required by /bin/sh) hata mesajını görürseniz libtinfo.so.6 dosyasını yeniden adlandırmak için aşağıdaki komutu çalıştırın:

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. DUT ve PN532 NFC okuyucusunun cihaz seri kimliklerini MultiDevice/config.yml'te ayarlayarak test yatağını kurun:

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

NFC testlerini çalıştırma

NFC testlerini çalıştırmak için:

  1. CTS-V uygulamasını açıp NFC Testleri'ne dokunun:

    CTS-V uygulaması

    Şekil 2. CTS-V uygulaması.

    Test durumları listesinin yer aldığı bilgi penceresi görünür:

    CTS-V uygulama test durumları

    Şekil 3. CTS-V uygulama test durumları.

  2. Testleri barındırıcınızda çalıştırın:

    MultiDevice$ python3 tools/run_all_tests.py
    

    Testler tamamlandığında test sonuçları CTS-V uygulamasında güncellenir. Başarılı testler yeşil renkte gösterilir:

    CTS-V test sonuçları

    Şekil 4. CTS-V test sonuçları.

  3. Başarısız testlerin kırmızıyla işaretlendiğini görürseniz başarısız testleri yeniden çalıştırmak için aşağıdaki komutu kullanın:

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

    Nerede:

    • TestCaseA ve TestCaseB, CTS-V'de gösterilen test durumlarının adlarıdır.
    • TestFileA, test durumlarını içeren test dosyasıdır.

    Örnek:

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