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
terletak di tools/test/connectivity/acts
.
Halaman ini menjelaskan cara menjalankan pengujian telepon dasar yang tersedia di Project Open Source Android (AOSP) untuk pengguna yang memiliki dua ponsel.
Prasyarat
Untuk menjalankan pengujian telepon ACTS, Anda harus memiliki akses ke repositori Android lengkap dan menginstal build userdebug pada 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 multigigabyte yang terus berkembang. Sesuaikan
ekspektasi waktu download dengan semestinya.
- Jika ukuran mesin dibatasi, tambahkan
--depth=1
ke perintahrepo init
.
- Jika ukuran mesin dibatasi, tambahkan
- Untuk mendapatkan update berikutnya pada alat ACTS, buka direktori utama Android:
- Gunakan
repo sync tools/test/connectivity
- Dan
repo sync external/sl4a
- Gunakan
Memverifikasi build userdebug di perangkat
Instal versi userdebug Android 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
harus menampilkanuserdebug
. - Jika
ro.build.type
tidak tersedia, build userdebug akan memungkinkan Anda menjalankan shell adb sebagai root (terminal#
).
- Perintah
Membangun dan menginstal SL4A
Untuk membuat dan menginstal Scripting Layer Untuk Android (SL4A), ikuti petunjuk di Lapisan Skrip untuk Android. Bagian Menambahkan Build SL4A ke Android Build secara Default bersifat opsional.
Setelah membuat 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
Konfigurasi perangkat menggunakan persyaratan build/alat 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 Anda
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 pada host. Untuk memecahkan masalah ADB, lihat Menjalankan aplikasi di perangkat hardware.
Izinkan proses debug USB: Jika driver adb diinstal, perangkat adb dapat memicu perintah di perangkat untuk mengizinkan proses debug USB.
Instal
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
di bagian 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 yang dapat menjalankan pengujian |
(diuji) _description
|
Beri komentar pada setiap tempat pengujian, karena ACTS dapat menargetkan masing-masing tempat pengujian |
(diuji) name
|
Nama tempat pengujian untuk memanggil dari command line |
(diuji) AndroidDevice
|
Daftar perangkat tertentu yang ditargetkan pengujian
Catatan: Mungkin ada beberapa perangkat yang tercantum. Pengujian yang menjalankan telepon satu sama lain mengharapkan ada dua perangkat dan gagal jika jumlah lebih sedikit. Jika ada dua perangkat yang tercantum dan pengujian hanya mengharapkan satu perangkat, pengujian tersebut akan dijalankan di perangkat pertama. |
(diuji)(AndroidDevice) serial
|
Nomor seri perangkat (dicetak dari adb devices )
|
(diuji)(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 menarik nomor telepon dari perangkat pada 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 pada
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
dalam 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.