Android Comms Test Suite (ACTS)
melakukan pengujian otomatis stack konektivitas, seperti Wi-Fi, Bluetooth, dan
layanan seluler. Alat pengujian memerlukan
adb dan Python. Alat ini
berada di tools/test/connectivity/acts
.
Halaman ini menjelaskan cara menjalankan pengujian telepon dasar yang tersedia di Android Open Source Project (AOSP) untuk pengguna dengan dua ponsel.
Prasyarat
Untuk menjalankan pengujian telepon ACTS, Anda harus memiliki akses ke repositori Android lengkap dan menginstal build userdebug di perangkat yang ingin diuji.
Mendownload repositori Android
Ikuti petunjuk di Mendownload sumber untuk mendownload repositori Android di komputer yang memiliki koneksi USB ke perangkat yang ingin diuji.
- AOSP adalah codebase multi-gigabyte yang terus berkembang. Sesuaikan
ekspektasi waktu download Anda.
- Jika mesin dibatasi ukurannya, tambahkan
--depth=1
ke perintahrepo init
.
- Jika mesin dibatasi ukurannya, tambahkan
- Untuk mendapatkan update mendatang tentang alat ACTS, buka direktori root Android:
- Gunakan
repo sync tools/test/connectivity
- Dan
repo sync external/sl4a
- Gunakan
Memverifikasi build userdebug di perangkat
Instal Android versi userdebug di perangkat pengujian Anda.
- Bangun repositori menggunakan petunjuk dalam Build Android.
- Flash perangkat seperti yang dijelaskan dalam
Mem-flash perangkat.
- Perintah
adb shell getprop ro.build.type
akan menampilkanuserdebug
. - Jika
ro.build.type
tidak tersedia, build userdebug memungkinkan menjalankan shell adb sebagai root (terminal#
).
- Perintah
Mem-build dan menginstal SL4A
Untuk mem-build dan menginstal Lapisan Skrip untuk Android (SL4A), ikuti petunjuk di Lapisan Skrip untuk Android. Bagian Menambahkan Build SL4A ke Android Build secara Default bersifat opsional.
Setelah mem-build SLA4, pesan log terakhir berisi lokasi file sl4a.apk
, yang perlu Anda instal di SEMUA perangkat. Berikut adalah contoh
pesan log:
Copy: out/target/path/to/sl4a.apk
Mengonfigurasi perangkat untuk menguji
Konfigurasikan perangkat menggunakan persyaratan alat/build ACTS berikut:
Jika kunci vendor ADB tidak tersedia, ketuk pop-up Trust this computer di DUT saat muncul. Jika kunci vendor ADB tersedia:
- Kunci dan driver vendor ADB harus unik untuk DUT.
- Untuk selalu mengaktifkan proses debug USB, kunci vendor ADB di hierarki sumber
harus ditambahkan ke
~/.bashrc
(atau yang setara) menggunakanexport ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys
dengan/path/to/directory
adalah jalur yang sepenuhnya memenuhi syarat di host. Untuk memecahkan masalah ADB, lihat Menjalankan aplikasi di perangkat hardware.
Izinkan proses debug USB: Saat driver adb diinstal, perangkat adb dapat memicu dialog di perangkat untuk mengizinkan proses debug USB.
Menginstal
sl4a.apk
menggunakan$ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk
Pastikan ponsel menggunakan koneksi USB 2.0 ke server pengujian.
Pengujian ini bergantung pada jaringan seluler aktif, jadi letakkan kartu SIM di ponsel dan simpan ponsel di area yang memiliki layanan seluler yang baik.
Tambahkan semua kartu SIM ke file JSON seperti yang dijelaskan dalam Menulis file konfigurasi.
Menyiapkan lingkungan
Sebelum menyiapkan lingkungan, pastikan Python 3.4+ sudah diinstal.
Jalankan:
sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler
Menginstal ACTS
Jalankan:
cd <ANDROID_ROOT>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -
Untuk memverifikasi penginstalan, jalankan act.py -h
, yang mencetak daftar perintah
yang tersedia.
Menulis file konfigurasi
Untuk menjalankan pengujian, Anda harus membuat file dengan informasi konfigurasi. Berikut adalah
contoh file .config
. File serupa tersedia di repositori Android
pada tools/test/connectivity/acts/framework/sample_config.json
. Ganti
XXXXXXX
dengan nomor seri perangkat untuk memberikan informasi minimum yang
diperlukan ACTS untuk menjalankan pengujian telepon.
{
"_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"
}
Gunakan kunci dalam tabel untuk mengonfigurasi parameter pengujian. Lihat Opsi konfigurasi tambahan untuk opsi lainnya.
Kunci | Nilai |
---|---|
_description
|
Memberi komentar pada konten di seluruh file konfigurasi |
testbed
|
Spesifikasi lingkungan tempat pengujian dapat dijalankan |
(testbed) _description
|
Berikan komentar pada setiap testbed, karena ACTS dapat menargetkan setiap testbed |
(testbed) name
|
Nama tempat pengujian untuk memanggil dari command line |
(testbed) AndroidDevice
|
Daftar perangkat tertentu yang ditargetkan pengujian
Catatan: Mungkin ada beberapa perangkat yang tercantum. Pengujian yang menjalankan ponsel yang saling menelepon mengharapkan ada dua perangkat dan gagal jika ada lebih sedikit. Jika ada dua perangkat yang tercantum dan pengujian hanya mengharapkan satu, pengujian tersebut akan dijalankan di perangkat pertama. |
(testbed)(AndroidDevice) serial
|
Nomor seri perangkat (dicetak dari adb devices )
|
(testbed)(AndroidDevice) adb_logcat_param
|
Parameter yang diteruskan saat adb logcat dipanggil selama pengujian
|
logpath
|
Lokasi di server pengujian tempat log disimpan |
testpaths
|
Lokasi kode kasus pengujian |
sim_conf_file
|
Lokasi file .json yang mencantumkan kartu SIM
yang tersedia
Daftar kartu SIM mencakup ID kartu, kemampuan kartu, operator, dan nomor telepon. |
{
"sim-card-ID-here": {
"capability": [
"voice",
"ims",
"volte",
"vt",
"sms",
"tethering",
"data"
],
"operator": "tmo",
"phone_num": "12345678901"
},
...
}
Anda dapat mengambil nomor telepon dari perangkat di bagian Sistem > Tentang ponsel.
ID kartu SIM umumnya dicetak di kartu SIM, atau tersedia dari
perangkat di bagian Sistem > Tentang ponsel > Status SIM. String operator ditentukan di tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py
, lalu telusuri CARRIER_
.
Opsi konfigurasi tambahan
File entries.py
yang terletak di
tools/test/connectivity/acts/framework/acts/config/entries.py
di repositori
Android memiliki definisi untuk opsi konfigurasi command line utama.
Anda juga dapat menemukan parameter khusus pengujian dalam kode dengan menelusuri
self.user_params.get
.
Menjalankan pengujian
Menjalankan pengujian dari command line setelah file konfigurasi ditulis. Meskipun ada banyak opsi, cara yang paling sederhana adalah menggunakan -c filename.config -tc
TestCase:name
. Contoh ini menggunakan file konfigurasi bernama minimum.config
:
act.py -c minimum.config -tc TelLiveVoiceTest:test_call_mo_voice_general
Pengujian yang berhasil akan memiliki pesan output akhir seperti ini:
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
Menjalankan beberapa pengujian
Untuk menjalankan kasus pengujian tertentu di beberapa file, buat file pengujian dan teruskan
dengan flag -tf
, seperti yang ditunjukkan dalam contoh rangkaian pengujian regresi:
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
Contoh perintah ini mengasumsikan bahwa file tersebut bernama regression_suite.
act.py -c minimum.config -tf regression_suite
Menjalankan pengujian beberapa kali
Untuk menjalankan kasus pengujian (-tc
) atau file pengujian (-tf
) beberapa kali, tambahkan -ti
#
(iterasi pengujian) ke perintah.