CTS testlerini çalıştırma

Trade Federation, Android cihazlarda test çalıştırmak için kullanılan sürekli bir test çerçevesidir. Uyumluluk Test Paketi'ni (CTS) çalıştırmak için Tradefed test çerçevesinin açıklamasını içeren Trade Federation'a Genel Bakış başlıklı makaleyi okuyun.

Test planı çalıştırmak için:

  1. Test edilen cihazları (DUT'lar) Android cihaz kurulumu'na göre ayarlayın.
  2. Hem Android Debug Bridge (adb) hem de Android Asset Packaging Tool (AAPT)'ın en son sürümlerini yüklediğinizden ve bu araçların konumunu makinenizin sistem yoluna eklediğinizden emin olun. Bu araçları yükleme hakkında bilgi edinmek için CTS'yi ayarlama: ADB ve AAPT başlıklı makaleyi inceleyin.
  3. Yayınlanan CTS derlemelerini Linux ana makinenize indirin ve derlemenin sıkıştırmasını ana makine konumunda açın.
  4. En az bir cihaz bağlayın. DUT'u hazırlamak için:
    • Cihazı ana ekrana ayarlamak için ana ekran düğmesine basın.
    • DUT'yi başka görevler için kullanmayın.
    • Sensör etkinliğini tetiklememek için DUT'yi sabit bir konumda tutun.
    • Cihaz kamerasını odaklanabilecek bir nesneye doğru tutun.
    • CTS çalışırken cihazdaki hiçbir tuşa basmayın. DUT'un tuşlarına basmak veya ekranına dokunmak, çalışan testleri etkiler ve testlerin başarısız olmasına neden olabilir.
  5. CTS paketinin sıkıştırmasının açıldığı klasörden CTS konsolu cts-tradefed komut dosyasını başlatın. Ana makinenin komut satırı kabuğunda şunu çalıştırın:

    ./android-cts/tools/cts-tradefed
  6. Varsayılan test planını çalıştırın (tüm test paketlerini içerir):

    • CTS 11 ve önceki sürümler için
      cts-tradefed > run cts
    • CTS 12 ve sonraki sürümler için

      cts-console > run cts

    • Test yürütme süresini iyileştirmek istiyorsanız testleri birden fazla cihaza dağıtabilirsiniz. Bölme işlemi için ana makinenin en az iki cihaz bağlaması gerekir ancak verimlilik için altı veya daha fazla cihaz kullanılması önerilir. 1'den fazla cihazı bölerken:

      • Android 9 ve sonraki sürümler için komut seçeneğini kullanın

        --shard-count number_of_shards
      • Android 8.1 ve önceki sürümlerde komut seçeneğini kullanın

        --shards number_of_shards
    • Test paketinin tamamını çalıştırmak istemiyorsanız komut satırından dilediğiniz CTS planını çalıştırabilirsiniz:

      run cts --plan test_plan_name

      Test planı adını bulmak için:

      • Android 7.0 ve sonraki sürümlerde test modüllerinin listesini görmek için

        list modules
      • Android 6.0 ve önceki sürümlerde, depodaki test planlarının listesini görüntülemek için

        list plans
      • Android 6.0 ve önceki sürümlerde, depodaki test paketlerinin listesini görüntülemek için

        list packages
    • CTS sürümlerine bağlı olarak ek komut seçenekleri için konsol komutu referansına veya Tradefed konsolundaki "tümünü yardım" bölümüne bakın.

  7. Tüm test modülleri tamamlanana ve son iki yeniden deneme oturumunda test hatası sayıları aynı olana kadar birden fazla yeniden deneme oturumu çalıştırın.

    • Android 9 ve sonraki sürümler için

      run retry --retry session_number --shard-count number_of_shards
    • Android 7.0-8.1 için

      run cts --retry session_number --shards number_of_shards
    • CTS sürümüne bağlı olarak ek yeniden deneme komutu seçenekleri için CTS v2 Komut Konsolu'na bakın.

    • CTS yeniden denemesi için uygulama ayrıntılarını öğrenmek üzere Trade Federation Suite'i yeniden deneme başlıklı makaleyi inceleyin.

  8. Yalnızca başarısız olan parametre içeren testlerde yeniden deneme oturumu çalıştırın. Geçen parametreli testler yeniden denenmez.

    • Android 11 ve sonraki sürümlerde, run cts komutunda varsayılan olarak aşağıdaki yeniden deneme komutu seçeneği etkinleştirilir:

      run retry --retry  --new-parameterized-handling
  9. Konsolda test ilerleme durumunu ve raporlanan sonuçları görüntüleyin.

Android Test Station'ı kullanarak CTS'yi çalıştırma

Android Test İstasyonu, Android geliştiricilerinin ve test mühendislerinin standart test paketlerini çalıştırmak için kullanıcı arayüzü kullanmak üzere kullanabileceği bir test otomasyon aracıdır. Android Compatibility Test Suite (CTS) ile çalışır.

Bu araç, ATS Kullanıcı Kılavuzu üzerinden herkese açık olarak kullanılabilir ve kodu AOSP'de açık kaynak olarak bulunur (multitest_transport,tradefed_cluster).

Alternatif Modlar için CTS'yi Çalıştırma

CTS 10 R4 sürümü, alternatif modları veya birden fazla ekranı olan cihazlar için bir test planı ekler. run cts-foldable kullanarak alternatif modlar test planını yürütün.

Alternatif ekran modu için başarılı veya başarısız test durumlarına display_mode'teki değer eklenir (ör. testcase1[display_mode=0]).

CTS 13'te DeviceStateManager API, aşağıdaki yapılandırma seçeneğine sahip test modüllerinin katlanabilir cihazın farklı cihaz durumlarında çalıştırılmasına olanak tanır. CTS'de test yürütme işlemi, cts-foldable test planının çalıştırılmasına gerek kalmadan cihazda tanımlanan ekran katlama durumlarına göre otomatik olarak gerçekleşir.

<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />

CTS'de çoklu cihaz testi

Android 13 ve sonraki sürümler çoklu cihaz testini destekler. CTS çalıştırması sırasında birden fazla cihaz gerektiren testler otomatik olarak yürütülür. CTS 13, bölümleme kullanıldığında otomatik olarak tetiklenen bazı çok cihazlı testler içerir. Test için fiziksel kurulumda ek değişiklik yapılması gerekmese de testlerin doğru şekilde çalışabilmesi için virtualenv'ün yüklenmesi gerekir. Ayrıntılar için Çoklu Cihaz Paketleri başlıklı makaleyi inceleyin.

Çoklu cihaz testleri çalıştırma

Çok cihazlı testi bağımsız olarak çalıştırmak için aşağıdaki kodu kullanın:

  cts-tradefed > run cts-multidevice
  

Tüm normal seçenekler desteklenir. Belirli cihazları hedeflemek için hedeflenen cihaz sayısı kadar --serial <serial1> --serial <serial2> ekleyin.

Çok cihazlı testleri otomatik olarak tetiklemek için --shard-count 2'te olduğu gibi parçalama kullanın.