ACTS telefon testleri

Android Comms Test Suite (ACTS); kablosuz ağ, Bluetooth ve hücresel hizmetler gibi bağlantı yığınlarının otomatik testlerini gerçekleştirir. Test aracı için adb ve Python gerekir. Bu araç tools/test/connectivity/acts konumunda bulunur.

Bu sayfada, iki telefonu olan bir kullanıcı için Android Açık Kaynak Projesi (AOSP) kapsamında bulunan temel telefon testlerinin nasıl çalıştırılacağı açıklanmaktadır.

Ön koşullar

ACTS telefon testlerini çalıştırmak için tam bir Android deposuna erişebilmeniz ve test etmek istediğiniz cihazlara kullanıcı hata ayıklama derlemelerini yüklemeniz gerekir.

Android deposu indirme

Test etmek istediğiniz cihazlara USB bağlantısı olan bir makineye bir Android deposunu indirmek için Kaynağı indirme bölümündeki talimatları uygulayın.

  • AOSP, büyümeye devam eden bir çoklu gigabayt kod tabanıdır. İndirme süreleriyle ilgili beklentilerinizi buna göre ayarlayın.
    • Makinede boyut kısıtlaması varsa repo init komutuna --depth=1 ekleyin.
  • ACTS araçlarıyla ilgili gelecekteki güncellemeleri almak için Android kök dizinine gidin:
    • repo sync tools/test/connectivity hareketini kullanın
    • Ve repo sync external/sl4a

Cihazlardaki kullanıcı hata ayıklama derlemelerini doğrulama

Test cihazlarınıza Android'in kullanıcı hata ayıklama sürümünü yükleyin.

  • Android Derleme sayfasındaki talimatları kullanarak depoyu oluşturun.
  • Cihaz flaşı konusunda açıklandığı şekilde cihazı yanıp söndür.
    • adb shell getprop ro.build.type komutu userdebug değerini döndürecektir.
    • ro.build.type kullanılamazsa userdebug derlemesi, adb kabuğunun kök (terminal #) olarak çalıştırılmasına olanak tanır.

HD4 (SL4A) oluşturun ve yükleyin

Android İçin Komut Dosyası Katmanı (SL4A) oluşturup yüklemek üzere Android için Komut Dosyası Katmanı'ndaki talimatları izleyin. Varsayılan olarak Android Derlemelerine SL4A Derlemeleri Ekleme bölümü isteğe bağlıdır.

HDS4'ü oluşturduktan sonraki son günlük mesajı, TÜM cihazlara yüklemeniz gereken sl4a.apk dosyasının konumunu içerir. Aşağıda bir günlük mesajı örneği verilmiştir:

Copy: out/target/path/to/sl4a.apk

Test edilecek cihazları yapılandır

Aşağıdaki ACTS derleme/araç gereksinimlerini kullanarak cihazları yapılandırın:

  • ADB tedarikçi anahtarları kullanılamıyorsa DUT penceresindeki Bu bilgisayara güven pop-up'ına dokunun. ADB tedarikçi anahtarları varsa:

    • ADB tedarikçi anahtarları ve sürücüleri DUT'ye özgü olmalıdır.
    • USB hata ayıklamasını her zaman etkinleştirmek için kaynak ağacınızdaki ADB tedarikçi anahtarları, export ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys kullanılarak ~/.bashrc öğesine (veya eşdeğerine) eklenmelidir. Burada /path/to/directory, ana makinedeki tam nitelikli yolunuzdur. ADB ile ilgili sorunları gidermek için Uygulamaları donanım cihazında çalıştırma konusuna bakın.
  • USB hata ayıklamasına izin ver: Adb sürücüleri yüklendiğinde adb cihazları, USB üzerinden hata ayıklamaya izin vermek için cihazda bir istem tetikleyebilir.

  • $ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk uygulamasını kullanarak sl4a.apk uygulamasını yükleyin

  • Telefonların test sunucusuna USB 2.0 bağlantısı kullandığından emin olun.

  • Bu testler canlı hücre ağlarına bağlıdır, bu nedenle SIM kartları telefonlara takın ve telefonları hücresel servisin iyi olduğu bir yerde tutun.

  • Tüm SIM kartları, Yapılandırma dosyası yazma bölümünde açıklandığı gibi bir JSON dosyasına ekleyin.

Ortamı ayarlama

Ortamı kurmadan önce Python 3.4+ sürümünün yüklü olduğunu doğrulayın.

Çalıştırma:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler

ACTS'yi yükle

Çalıştırma:

cd <ANDROID_ROOT>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -

Yüklemeyi doğrulamak için act.py -h komutunu çalıştırın. Bu komutta, kullanılabilir komutların listesi görüntülenir.

Yapılandırma dosyası yazma

Testleri çalıştırmak için yapılandırma bilgilerini içeren bir dosya oluşturmanız gerekir. Aşağıda örnek bir .config dosyası verilmiştir. Android deposunda, tools/test/connectivity/acts/framework/sample_config.json altındaki benzer bir dosya mevcuttur. ACTS'nin telefon testi yapması için gereken minimum bilgileri sağlamak amacıyla XXXXXXX yerine cihaz seri numaralarını kullanın.

{
  "_description": "Minimum Telephony Config",
  "testbed":
  [
      {
          "_description": "A testbed listing two AndroidDevices for adb.",
          "name": "ExampleTestBed",
          "AndroidDevice": [{"serial": "XXXXXXX", "adb_logcat_param": "-b all"},
                            {"serial": "XXXXXXX", "adb_logcat_param": "-b all"}]
      }
  ],
  "logpath": "/path/to/logs",
  "testpaths": "/path/to/android/repo/tools/test/connectivity",
  "sim_conf_file": "/path/to/simcard_list.json"
}

Test parametrelerini yapılandırmak için tablodaki anahtarları kullanın. Diğer seçenekler için Ek yapılandırma seçenekleri bölümüne bakın.

Anahtar Değer
_description Tüm yapılandırma dosyasının içeriğine yorum yapma
testbed Testlerin çalıştırılabileceği ortamın spesifikasyonu
(test yatağı) _description ACTS ayrı test yataklarını hedefleyebildiği için her test platformuna yorum yapın
(test yatağı) name Komut satırından arama için test platformu adı
(test yatağı) AndroidDevice Testin hedeflediği belirli cihazların listesi
Not: Listelenen birden fazla cihaz olabilir. Birbirini çağıran telefonları çalıştıran bir test, iki cihaz olmasını bekler ve daha az cihaz varsa başarısız olur. Listelenen iki cihaz varsa ve test yalnızca bir cihaz bekliyorsa bu test, ilk cihazda çalıştırılır.
(test yatağı)(AndroidCihaz) serial Cihazın seri numarası (adb devices adresinden basılmıştır)
(test yatağı)(AndroidCihaz) adb_logcat_param Test sırasında adb logcat çağrıldığında iletilen parametreler
logpath Test sunucusunda günlüklerin kaydedildiği konum
testpaths Test durumu kodunun konumu
sim_conf_file Kullanılabilir SIM kartların listelendiği .json dosyasının konumu
SIM kartlar listesinde kart kimliği, kart özellikleri, operatör ve telefon numarası bulunur.
{
    "sim-card-ID-here": {
        "capability": [
            "voice",
            "ims",
            "volte",
            "vt",
            "sms",
            "tethering",
            "data"
        ],
        "operator": "tmo",
        "phone_num": "12345678901"
    },
...
}

Telefon numarasını cihazdan Sistem > Telefon hakkında bölümünden alabilirsiniz. SIM kart kimliği genellikle SIM kartın üzerine basılır veya cihazda Sistem > Telefon hakkında > SIM durumu bölümünden bulunabilir. Operatör dizesi tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py adresinde tanımlanır ve ardından CARRIER_ araması yapılır.

Ek yapılandırma seçenekleri

Android deposundaki tools/test/connectivity/acts/framework/acts/config/entries.py konumunda bulunan entries.py dosyasında, başlıca komut satırı yapılandırma seçeneklerinin tanımları bulunur.

Kodda self.user_params.get araması yaparak teste özel parametreleri de bulabilirsiniz.

Testler yapın

Yapılandırma dosyası yazıldıktan sonra komut satırından test çalıştırın. Birçok seçenek olsa da en basiti -c filename.config -tc TestCase:name kullanmaktır. Bu örnekte minimum.config adlı bir yapılandırma dosyası kullanılmaktadır:

act.py -c minimum.config -tc TelLiveVoiceTest:test_call_mo_voice_general

Başarılı bir test çalıştırmasının son hali aşağıdaki gibi bir çıkış mesajı olmalıdır:

INFO Summary for test run ExampleTestBed@yyyy-mm-dd_15-23-43-614: Requested 1,
Executed 1, Passed 1, Failed 0, Skipped 0, Error 0

Birden çok test yapın

Birden fazla dosyada belirli test durumları çalıştırmak için, örnek regresyon test paketinde gösterildiği gibi bir test dosyası oluşturun ve bunu -tf işaretiyle iletin:

TelLiveVoiceTest:
test_call_mo_voice_general,
test_call_volte_to_volte,
test_call_3g_to_3g

TelLiveDataTest:
test_airplane_mode,
test_4g,
test_3g

TelLiveSmsTest:
test_sms_mo_4g,
test_sms_mt_4g,
test_sms_mo_3g,
test_sms_mt_3g,
test_mms_mo_4g,
test_mms_mt_4g

Bu örnek komut dosyanın adının regression_suite. olduğunu varsayar

act.py -c minimum.config -tf regression_suite

Testleri birden çok kez çalıştırma

Bir test durumunu (-tc) veya test dosyasını (-tf) birden çok kez çalıştırmak için komuta -ti # (test yinelemeleri) ifadesini ekleyin.