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.
- Makinede boyut kısıtlaması varsa
- 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
komutuuserdebug
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ı kullanaraksl4a.apk
uygulamasını yükleyinTelefonları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.