Android Comms Test Suite (ACTS) melakukan pengujian otomatis terhadap tumpukan konektivitas, seperti Wi-Fi, Bluetooth, dan layanan seluler. Alat pengujian memerlukan adb . dan Python, dan dapat ditemukan di tools/test/connectivity/acts
.
Halaman ini menjelaskan cara menjalankan tes 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 pada perangkat yang ingin Anda uji.
Mengunduh repositori Android
Ikuti petunjuk di Mengunduh Sumber untuk mengunduh repositori Android di mesin yang memiliki koneksi USB ke perangkat yang ingin Anda uji.
- AOSP adalah basis kode multigigabyte yang terus berkembang. Sesuaikan ekspektasi Anda terhadap waktu pengunduhan.
- Jika ukuran mesin dibatasi, tambahkan
--depth=1
ke perintahrepo init
.
- Jika ukuran mesin dibatasi, tambahkan
- Untuk mendapatkan pembaruan di masa mendatang tentang perkakas ACTS, buka direktori root Android:
- Gunakan
repo sync tools/test/connectivity
- Dan
repo sync external/sl4a
- Gunakan
Memverifikasi build userdebug pada perangkat
Instal versi debug pengguna Android pada perangkat pengujian Anda.
- Bangun repositori menggunakan petunjuk di Membangun Android .
- Flash perangkat seperti yang dijelaskan dalam Flashing perangkat .
- Perintah
adb shell getprop ro.build.type
harus mengembalikanuserdebug
. - Jika
ro.build.type
tidak tersedia, build userdebug memungkinkan menjalankan adb shell sebagai root (terminal#
).
- Perintah
Membangun dan memasang SL4A
Untuk membuat dan menginstal Scripting Layer Untuk Android (SL4A), ikuti petunjuk di Scripting Layer untuk Android . Bagian Menambahkan Build SL4A ke Android Builds secara Default bersifat opsional.
Setelah membangun SLA4, pesan log terakhir berisi lokasi file sl4a.apk
, yang perlu Anda instal di SEMUA perangkat. Berikut ini contoh pesan log:
Copy: out/target/path/to/sl4a.apk
Mengonfigurasi perangkat untuk diuji
Konfigurasikan perangkat menggunakan persyaratan build/alat ACTS berikut:
Jika kunci vendor ADB tidak tersedia, ketuk popup Percayai komputer ini di DUT ketika muncul. Jika kunci vendor ADB tersedia:
- Kunci dan driver vendor ADB harus unik untuk DUT.
- Untuk selalu mengaktifkan USB debugging, kunci vendor ADB di pohon sumber Anda harus ditambahkan ke
~/.bashrc
(atau yang setara) menggunakanexport ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys
/path/to/directory
jalur Anda yang sepenuhnya memenuhi syarat di host. Untuk memecahkan masalah ADB, lihat Menjalankan aplikasi di perangkat keras .
Izinkan USB debugging: Saat driver adb diinstal, perangkat adb dapat memicu perintah pada perangkat untuk mengizinkan USB debugging.
Instal
sl4a.apk
menggunakan$ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk
Pastikan ponsel menggunakan koneksi USB 2.0 ke server pengujian.
Tes ini bergantung pada jaringan seluler yang aktif, jadi letakkan kartu SIM di telepon dan simpan telepon di tempat yang memiliki layanan seluler yang baik.
Tambahkan semua kartu SIM ke file
.json
seperti dijelaskan dalam Menulis file konfigurasi .
Menyiapkan lingkungan
Sebelum menyiapkan lingkungan, verifikasi bahwa Python 3.4+ telah diinstal .
Berlari:
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
Berlari:
cd <ANDROID_ROOT>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -
Untuk memverifikasi instalasi, jalankan act.py -h
, yang mencetak daftar perintah yang tersedia.
Menulis file konfigurasi
Untuk menjalankan pengujian, Anda harus membuat file dengan informasi konfigurasi. Berikut ini contoh file .config
. File serupa tersedia di repositori Android di bawah tools/test/connectivity/acts/framework/sample_config.json
. Ganti XXXXXXX
dengan nomor seri perangkat untuk memberikan informasi minimum yang diperlukan ACTS untuk menjalankan tes 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 tombol dalam tabel untuk mengonfigurasi parameter pengujian. Lihat Opsi konfigurasi tambahan untuk opsi lainnya.
Kunci | Nilai |
---|---|
_description | Komentari isi seluruh file konfigurasi |
testbed | Spesifikasi lingkungan tempat pengujian dapat dijalankan |
(tempat pengujian) _description | Beri komentar pada setiap testbed, karena ACTS dapat menargetkan testbed individual |
(tempat pengujian) name | Nama testbed untuk panggilan dari baris perintah |
(diuji) AndroidDevice | Daftar perangkat tertentu yang menjadi target pengujian Catatan: Mungkin ada beberapa perangkat yang terdaftar. Pengujian yang menjalankan telepon yang saling menelepon mengharapkan ada dua perangkat dan gagal jika jumlahnya lebih sedikit. Jika ada dua perangkat yang terdaftar dan pengujian hanya mengharapkan satu, pengujian tersebut dijalankan pada perangkat pertama. |
(tempat pengujian)(Perangkat Android) serial | Nomor seri perangkat (dicetak dari adb devices ) |
(tempat pengujian)(Perangkat Android) adb_logcat_param | Parameter yang diteruskan saat adb logcat dipanggil selama pengujian |
logpath | Lokasi di server pengujian tempat log disimpan |
testpaths | Lokasi kode kasus uji |
sim_conf_file | Lokasi file .json yang mencantumkan kartu SIM yang tersediaDaftar 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 bawah Sistem > Tentang telepon . ID kartu SIM umumnya tercetak pada kartu SIM, atau tersedia dari perangkat pada Sistem > Tentang ponsel > Status SIM . String operator ditentukan di tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py
, lalu cari 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 baris perintah utama.
Anda juga dapat menemukan parameter khusus pengujian dalam kode dengan mencari self.user_params.get
.
Menjalankan tes
Jalankan tes dari baris perintah setelah file konfigurasi ditulis. Meskipun ada banyak pilihan, 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
Uji coba yang berhasil akan menghasilkan pesan keluaran 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 tes
Untuk menjalankan kasus pengujian tertentu di beberapa file, buat file pengujian dan teruskan dengan flag -tf
, seperti yang ditunjukkan dalam contoh rangkaian pengujian regresi di bawah.
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 diberi nama regression_suite.
act.py -c minimum.config -tf regression_suite
Menjalankan tes beberapa kali
Untuk menjalankan kasus uji ( -tc
) atau file uji ( -tf
) beberapa kali, tambahkan -ti #
(iterasi pengujian) ke perintah.