CTS Doğrulayıcı çok cihazlı testlerini çalıştırma

Bu sayfada, Android 16 QPR2 veya daha yeni sürümlerde Better Together CTS Verifier (CTS-V) testlerini kullanmayla ilgili talimatlar yer almaktadır.

Ana makine tarafında çok cihazlı testler ayarlama

Bu bölümde, çok cihazlı testlerin nasıl ayarlanacağı açıklanmaktadır.

  1. Masaüstü makinenizin CTS için işletim sistemi gereksinimlerini karşıladığını doğrulayın.
  2. Masaüstü yazılımını yükleme başlıklı makalenin 2. ve 5. adımlarını uygulayarak adb, AAPT2 ve Python'ın masaüstünüze doğru şekilde yüklendiğini doğrulayın.

    • Python sürümünüz 3.11 veya daha yeni olmalıdır. Python sürümünüzü belirlemek için python3 --version komutunu çalıştırın. Sürüm 3.11'den düşükse en son resmi Python sürümünü yükleyin. Daha fazla bilgi için python.org'ın İndirilenler bölümüne bakın.
    • Bazı testler için ana makinede Python venv modülü bulunması gerekir. Debian ve Ubuntu sistemlerinde bu modül varsayılan olarak yüklü olmayabilir. Python sürümünüzde venv modülünün olup olmadığını belirlemek için python3 -m venv venv komutunu çalıştırın. Bu komut başarısız olursa bir hata mesajı gösterilir. python3.x-venv paketini yüklemek için talimatları uygulayın.
  3. Her biri CTS-V kurulu olan, teste tabi iki eşleşen cihaz (DUT) hazırlayın.

    • DUT kurulumu hakkında bilgi edinmek için DUT'u kurma başlıklı makaleyi inceleyin.
    • CTS-V'yi ayarlama talimatları için Kurulum başlıklı makaleyi inceleyin.
  4. Test türünüzün kurulum bölümüne gidin:

    Testiniz bu listede yoksa Standart iki cihazlı testler oluşturma bölümüne gidin.

NFC testleri ayarlama

NFC testlerinde bir test edilen cihaz ve bir PN532 NFC çipi kullanılır.

NFC testlerini ayarlamak için:

  1. PN532 NFC çipi satın alın. All-In-One PN532'yi öneririz.
  2. DUT'ta Ayarlar uygulamasına gidin.

  3. NFC'yi etkinleştirin.

  4. NFC çipini konumlandırın:

    • Telefonlar için DUT'un NFC okuyucusunu Şekil 1'de gösterildiği gibi konumlandırın:

      NFC çipinin konumu

      Şekil 1. NFC çipinin konumu.

    • Diğer cihaz türlerinde çipi, cihazın NFC anteninin yanına yerleştirin.

  5. PN532 NFC çipini USB kablosu kullanarak test iş istasyonunuza bağlayın.

İsteğe bağlı: Kablosuz AP bağlantı testleri ayarlama

Kablosuz erişim noktası (AP) bağlantı testleri (CtsWifiConnectionTests), bir test cihazı ile AP arasındaki bağlantıyı test eder. Bu testleri çalıştırmanızı önemle tavsiye ederiz ancak CTS-V Android 16 16 QPR2'de bu testler zorunlu değildir.

Bu testler için bir DUT ve OpenWrt Banana Pi R3 AP gerekir.

Kablosuz AP bağlantı testlerini ayarlamak için:

  1. Banana Pi R3 AP'yi satın alın ve kurun. Daha fazla bilgi için Banana Pi BPI-R3 AP'yi kurma başlıklı makaleyi inceleyin.

  2. İsteğe bağlı: Korumalı kutunuz yoksa JTP-SR101 korumalı kutusunu öneririz. Aşağıdaki bilgileri kullanarak bu kutuyu satın alın:

    Dong Guan Zheng Sheng Electronics Technology Co., LTD
    Bohui Industrial Park, Panlong Road, Liaobu Town, Dongguan City, Guangdong Province, Çin
    İletişim: Forest Pan
    E-posta: forest.pan@jtpmak.cn
    Telefon (Çin): +86 18676993556

  3. Test edilen cihazı ve AP'yi ana makineye bağlayıp RF koruma kutusuna yerleştirin. Test edilen cihaz ile AP arasında en az 10 cm mesafe olmalıdır. Şekil 2'de bu yapılandırma gösterilmektedir:

    Kalkan kutusunda DUT ve AP

    Şekil 2. Kalkan kutusunda test cihazı ve AP.

  4. AP'ye ana makineden erişilebildiğini doğrulamak için SSH'yi kullanın.

Standart iki cihazlı testler ayarlama

Varsayılan iki cihaz kurulumu için:

  1. Birbiriyle eşleşen iki Android DUT'u yaklaşık 20 cm arayla yerleştirin.
  2. Temiz bir ortam oluşturmak için her iki cihazı da koruyucu bir kutuya yerleştirin.

  3. İsteğe bağlı: Kablosuz bağlantıda hata ayıklama için OTA sniffer'ı ayarlayın.

CDM testleri oluşturma

test_permissions_sync() test durumu, testin yürütüldüğü cihazların derleme türüne bağlı olarak farklı davranışlar gösterir. Hata ayıklanabilir (userdebug veya eng) ve hata ayıklanamayan (user) derlemelerin her ikisinin de OEM'ler tarafından test edilmesi ve her ikisi için de testlerin başarılı olması kritik önem taşır.

Muafiyet

İzin senkronizasyonu API'si uygulaması için CDD maddesi, yalnızca cihazlar arasında güvenli bir kanal üzerinden verilerin başarılı bir şekilde aktarılabilmesini gerektirir. Güvenli kanal uygulaması bir CDD uygunluk şartı olmadığından bu test, hata ayıklanamayan (kullanıcı) derlemelerde atlanabilir ancak yalnızca CDM izinleri senkronizasyon özelliğini desteklemeyi devre dışı bırakmak istiyorsanız.

Testler, hata ayıklanabilir derlemelerde istisnasız olarak başarılı olmalıdır.

Hata ayıklanamayan derlemelerde test için ön koşullar

Önceki muafiyet maddeleri kapsamında muaf değilseniz aşağıdaki ön koşulları karşıladığınızı doğrulayın.

Güvenli kanal, donanımın güvenilirliğini doğrulamak için AVF'yi (AttestationVerificationFramework) kullanır. Her iki tarafın oluşturduğu onaylar, sistemlerinde yetkisiz değişiklik yapılmadığından emin olmak için kendileriyle ilgili çeşitli bilgiler içerir. AVF, doğrulama işlemi sırasında aşağıdaki durumları kontrol eder:

  • Cihazın internet erişimi olmalıdır.
  • Cihazda Doğrulanmış Başlatma kullanılır ve derleme, geliştirme anahtarıyla değil yayın anahtarıyla imzalanmalıdır.
  • Cihazın bootloader'ı kilitli olmalıdır. Ayrıntılı talimatlar için önyükleyiciyi kilitleme başlıklı makaleyi inceleyin.
  • İşletim sistemi, temel başlatma ve temel satıcı yama düzeyleri 12 ay içinde olmalıdır. Bir yıldan eski derlemeleri kullanmayın.
  • Cihaz doğrulama, satıcı tarafından onaylanmış kök sertifikalardan biriyle desteklenir. Güvenilir kök sertifikalarınızı vendor_required_attestation_certificates.xml kaynak yer paylaşımında belirtin.

Ana makine tarafında çok cihazlı testler çalıştırma (AOSP 16 veya sonraki sürümler)

CTS Verifier 16, ana makine tarafında çok cihazlı testler için destek sunar. Bu testler, cihazda manuel test işlemi yerine ana makinede otomatik komut dosyaları kullanılarak yürütülebilir. Her test tamamlandıktan sonra sonuçlar otomatik olarak DUT'a yüklenir ve CTS Verifier uygulamasında gösterilir.

Bu bölümde, ana makine tarafında çok cihazlı testlerin nasıl çalıştırılacağı açıklanmaktadır.

Çok cihazlı testler çalıştırma

Çok cihazlı test çalıştırmak için:

  1. Test iş istasyonunuzda, CTS-V zip paketinin açıldığı dizinden cts-v-host konsolunu başlatın:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. DUT'taki CTS Verifier uygulamasında Host-side Tests'i (Ana Taraf Testleri) tıklayın. Şekil 3'te CTS Verifier uygulamasındaki ana makine tarafı testleri gösterilmektedir:

    CTS Doğrulayıcı uygulamasında ana makine tarafı çok cihazlı testler

    Şekil 3. CTS Doğrulayıcı uygulamasında ana makine tarafı çok cihazlı testler.

    Test tarafında çok cihazlı test modüllerinin listesi gösterilir.

  3. Çalıştırmak istediğiniz test modülünün adını belirleyin. Örneğin, CompanionDeviceManager modülü CtsCompanionDeviceManagerMultiDeviceTestCases olarak listelenir.

  4. cts-v-host konsolunda aşağıdaki komutu çalıştırın:

    run cts-v-host -m test_module_name
    

    Örneğin:

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    xTS konsolu testleri çalıştırmayı tamamladıktan sonra sonuçlar CTS Verifier uygulamasında görünür. Yeşil işaretli testler başarılı olmuştur. Kırmızı işaretli testler başarısız oldu. Şekil 4'te, CtsCompanionDeviceManager testleriyle ilgili örnek sonuçlar gösterilmektedir:

    CTS Doğrulayıcı uygulamasında ana makine tarafı çoklu cihaz test sonuçları

    Şekil 4. CTS Doğrulayıcı uygulamasında ana makine tarafı çok cihazlı test sonuçları.

İsteğe bağlı: Kablosuz erişim noktası bağlantı testleri yapın

Kablosuz AP bağlantı testleri çalıştırmak için aşağıdaki adımları uygulayın:

  1. Test yatağı yapılandırma dosyasını (WifiConnectionTestbed.yaml) düzenleyin. Bu dosya, CTS-Verifier'ın sıkıştırılmamış olduğu dizinde bulunur:

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. hostname alanının değerini, yerel SSH ayarlarınıza göre AP'nin IP adresiyle değiştirin. IP adresini belirlemek için AP'nin IP adresini bulma başlıklı makaleyi inceleyin.

    Aşağıdaki örnekte, hostname alanının WifiConnectionTestbed.yaml dosyasındaki konumu gösterilmektedir:

    TestBeds:
    - Name: WifiConnectionTestbed
      Controllers:
        # Specify settings for the AP.
        OpenWrtDevice:
        - hostname: AP-IP
          skip_init_reboot: True
    
  3. cts-v-host konsolunda aşağıdaki komutu çalıştırın:

    run everything -m CtsWifiConnectionTests
    

Çok cihazlı testlerle ilgili sorunları giderme

Bu bölümde, olası sorunlarla ilgili sorun giderme yardımı sağlanır.

NFC testleri sırasında GetFirmwareVersion için yanıt yok sorununu düzeltme

Çoklu cihaz testlerini çalıştırırken verify_firmware_version RuntimeError: No response for GetFirmwareVersion mesajını alırsanız testler PN532 NFC kartına erişemez.

Bu sorunu düzeltmek için ana makinenizde PN532 NFC kartı tarafından kullanılan seri yolunu (ör. dev/ttyUSB1) belirleyin, ardından konsolda --module-arg bağımsız değişkenini kullanarak manuel olarak belirtin:

run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1

NFC testleri sırasında "İşlem başarısız oldu" hata mesajını düzeltme

Tüm NFC test senaryolarında Transaction failed, check device logs for more information. mesajını alıyorsanız bunun nedeni muhtemelen DUT'un NFC çipinin PN532'yi algılayamamasıdır.

Ana makineye bağlı birden fazla cihazınız varsa ve bunlardan bazılarının üzerinde PN532 yoksa yanlış DUT seçilmiş olabilir. Daha fazla bilgi için NFC testlerini ayarlama başlıklı makaleyi inceleyin.

Bu sorunu düzeltmek için aşağıdakilerden birini yapın:

  • -s işaretini kullanarak ana makine tarafındaki test komutunuzda doğru DUT'un seri numarasını ayarlayın.

  • DUT dışındaki tüm cihazların ana bilgisayarla bağlantısını kesin.

CDM test durumu test_permissions_sync yoksayılıyor

Test, hata ayıklanamayan cihazlarda çalıştırılıyorsa muaf olup olmadığınızı kontrol edin. Aksi takdirde, her iki cihazın da ön koşulları karşıladığını doğrulayın.