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 tes 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 tentang waktu pengunduhan yang sesuai.
- Jika ukuran mesin dibatasi, tambahkan
--depth=1
ke perintahrepo init
.
- Jika ukuran mesin dibatasi, tambahkan
- Untuk mendapatkan pembaruan di masa mendatang tentang alat ACTS, buka direktori root Android:
- Gunakan
repo sync tools/test/connectivity
- Dan
repo sync external/sl4a
- Gunakan
Memverifikasi userdebug dibangun di perangkat
Instal Android versi debug pengguna di perangkat pengujian Anda.
- Bangun repositori menggunakan petunjuk di Membangun Android .
- Flash perangkat seperti yang dijelaskan dalam Mem-flash perangkat .
- Perintah
adb shell getprop ro.build.type
harus mengembalikanuserdebug
. - Jika
ro.build.type
tidak tersedia, build userdebug memungkinkan menjalankan shell adb sebagai root (terminal#
).
- Perintah
Membangun dan menginstal SL4A
Untuk membuat dan menginstal Scripting Layer For Android (SL4A), ikuti petunjuk di Scripting Layer for Android . Bagian Menambahkan Build SL4A ke Android Build secara Default adalah 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 ini:
Jika kunci vendor ADB tidak tersedia, ketuk popup Percayai komputer ini pada DUT saat 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
di mana/path/to/directory
berada jalur Anda yang sepenuhnya memenuhi syarat di host. Untuk pemecahan masalah ADB, lihat Menjalankan aplikasi di perangkat keras .
Izinkan debugging USB: Saat driver adb diinstal, perangkat adb dapat memicu permintaan 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 langsung, jadi letakkan kartu SIM di telepon dan simpan telepon 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, verifikasi bahwa Python 3.4+ telah diinstal .
Lari:
sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler
Memasang ACTS
Lari:
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 adalah 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 dibutuhkan 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 kunci dalam tabel untuk mengonfigurasi parameter pengujian. Lihat Opsi konfigurasi tambahan untuk opsi lainnya.
Kunci | Nilai |
---|---|
_description | Mengomentari isi dari seluruh file konfigurasi |
testbed | Spesifikasi lingkungan tempat pengujian dapat dijalankan |
(testbed) _description | Beri komentar pada setiap testbed, karena ACTS dapat menargetkan testbed individu |
(testbed) name | Nama testbed untuk menelepon dari baris perintah |
(testbed) AndroidDevice | Daftar perangkat tertentu yang menjadi target pengujian Catatan: Mungkin ada beberapa perangkat yang terdaftar. Tes yang menjalankan telepon yang saling memanggil mengharapkan ada dua perangkat dan gagal jika ada lebih sedikit. Jika ada dua perangkat yang terdaftar dan pengujian hanya mengharapkan satu, pengujian tersebut dijalankan pada perangkat pertama. |
(testbed) (Perangkat Android) serial | Nomor seri perangkat (dicetak dari adb devices ) |
(testbed)(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 menarik nomor telepon dari perangkat di bawah System > About phone . ID kartu SIM umumnya dicetak pada kartu SIM, atau tersedia dari perangkat di bawah 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 opsi, 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 harus memiliki 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 pada contoh rangkaian pengujian regresi di bawah ini.
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
Perintah contoh ini mengasumsikan bahwa file tersebut bernama regression_suite.
act.py -c minimum.config -tf regression_suite
Menjalankan tes beberapa kali
Untuk menjalankan test case ( -tc
) atau test file ( -tf
) beberapa kali, tambahkan -ti #
(test iterations) ke perintah.