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.
- Bir makinenin boyutu kısıtlıysa,
- 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
komutuuserdebug
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 yerdeexport 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
kullanaraksl4a.apk
yükleyinTelefonları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 konumuSIM 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.