ACTS Telefon Testleri

Android İletişim Test Paketi (ACTS), Wi-Fi, Bluetooth ve hücresel hizmetler gibi bağlantı yığınlarının otomatik testini gerçekleştirir. Test aracı adb gerektirir. ve Python'da mevcuttur ve tools/test/connectivity/acts içinde bulunabilir.

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

Önkoşullar

ACTS telefon testlerini çalıştırmak için, tam bir Android deposuna erişiminizin olması ve test etmek istediğiniz cihazlara userdebug yapılarını yüklemeniz gerekir.

Android deposunu indirme

Test etmek istediğiniz cihazlara USB bağlantısı olan bir makineye Android deposu indirmek için Kaynağı İndirme bölümündeki talimatları izleyin.

  • AOSP büyümeye devam eden multigigabaytlık bir kod tabanıdır. İndirme süresi beklentilerinizi buna göre ayarlayın.
    • Bir makinenin boyutu kısıtlıysa, 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 kullanın
    • Ve repo sync external/sl4a

Cihazlarda userdebug derlemelerinin doğrulanması

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

  • Android Oluşturma bölümündeki talimatları kullanarak depoyu oluşturun.
  • Cihazı, Bir cihazın yanıp sönmesi bölümünde anlatıldığı gibi flaşlayın.
    • adb shell getprop ro.build.type komutu userdebug döndürmelidir.
    • ro.build.type mevcut değilse, userdebug yapısı adb kabuğunun root (terminal # ) olarak çalıştırılmasına izin verir.

SL4A'yı oluşturma ve yükleme

Android için Komut Dosyası Katmanı (SL4A) oluşturmak ve yüklemek için Android için Komut Dosyası Katmanı'ndaki talimatları izleyin. SL4A Yapılarını Varsayılan Olarak Android Yapılarına Ekleme bölümü isteğe bağlıdır.

SLA4'ü oluşturduktan sonra 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ırma

Cihazları şu ACTS derlemesi/aracı gereksinimlerini kullanarak yapılandırın:

  • ADB satıcı anahtarları mevcut değilse DUT'ta Bu bilgisayara güven açılır penceresi göründüğünde dokunun. ADB satıcı anahtarları mevcutsa:

    • ADB satıcı anahtarları ve sürücüleri DUT'a özgü olmalıdır.
    • USB hata ayıklamasını her zaman etkinleştirmek için, kaynak ağacınızdaki ADB satıcı anahtarlarının, /path/to/ /path/to/directory olduğu yerde export ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys ~/.bashrc (veya eşdeğerine) eklenmesi gerekir. ana bilgisayardaki tam nitelikli yolunuz. ADB sorunlarını gidermek için Uygulamaları donanım aygıtında çalıştırma konusuna bakın.
  • USB hata ayıklamasına izin ver: Adb sürücüleri yüklendiğinde, adb aygıtları, USB hata ayıklamasına izin vermek için cihazda bir istem tetikleyebilir.

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

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

  • Bu testler canlı cep telefonu ağlarına bağlıdır; bu nedenle SIM kartlarını telefonlara takın ve telefonları iyi cep telefonu hizmeti olan bir alanda tutun.

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

Çevreyi ayarlama

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

Koşmak:

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ükleme

Koşmak:

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

Kurulumu doğrulamak için mevcut komutların listesini yazdıran act.py -h komutunu çalıştırın.

Bir yapılandırma dosyası yazma

Testleri çalıştırmak için yapılandırma bilgilerini içeren bir dosya oluşturmanız gerekir. İşte bir örnek .config dosyası. Benzer bir dosya Android deposunda tools/test/connectivity/acts/framework/sample_config.json altında mevcuttur. ACTS'nin telefon testi yürütmek için ihtiyaç duyduğu minimum bilgiyi sağlamak için XXXXXXX cihazın seri numaralarıyla değiştirin.

{
  "_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 tuşları kullanın. Daha fazla seçenek için Ek yapılandırma seçeneklerine bakın.

Anahtar Değer
_description Tüm yapılandırma dosyasının içeriğine yorum yapın
testbed Testlerin çalışabileceği ortamın belirtilmesi
(test edildi) _description ACTS bireysel test ortamlarını hedefleyebildiği için her test ortamına yorum yapın
(test edilen) name Komut satırından çağrılacak test ortamının adı
(test edildi) AndroidDevice Testin hedeflediği belirli cihazların listesi
Not: Listelenen birden fazla cihaz olabilir. Birbirini arayan telefonları çalıştıran bir test, iki cihazın olmasını bekler ve daha az olması durumunda 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ğı)(AndroidDevice) serial Cihazın seri numarası ( adb devices basılmıştır)
(test yatağı)(AndroidDevice) 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 senaryosu kodunun konumu
sim_conf_file Kullanılabilir SIM kartları listeleyen .json dosyasının konumu
SIM kart listesi, kartın kimliğini, kartın özelliklerini, operatörü ve telefon numarasını içerir.
{
    "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 üzerinde basılıdır veya cihazda Sistem > Telefon hakkında > SIM durumu altında bulunabilir. Operatör dizisi tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py adresinde tanımlanır, ardından CARRIER_ ifadesini arayın.

Ek yapılandırma seçenekleri

Android deposundaki tools/test/connectivity/acts/framework/acts/config/entries.py adresinde bulunan entries.py dosyasında ana komut satırı yapılandırma seçeneklerinin tanımları bulunur.

Ayrıca teste özgü parametreleri kodda self.user_params.get ifadesini arayarak da bulabilirsiniz.

Testleri çalıştırma

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

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

Başarılı bir test çalıştırmasının son çıktı mesajı şu şekilde 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 fazla test çalıştırma

Belirli test senaryolarını birden fazla dosyada çalıştırmak için bir test dosyası oluşturun ve bunu aşağıdaki örnek regresyon test paketinde gösterildiği gibi -tf bayrağıyla 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 regression_suite.

act.py -c minimum.config -tf regression_suite

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

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