Tes Telepon ACTS

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 perintah repo init .
  • Untuk mendapatkan pembaruan di masa mendatang tentang perkakas ACTS, buka direktori root Android:
    • Gunakan repo sync tools/test/connectivity
    • Dan repo sync external/sl4a

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 mengembalikan userdebug .
    • Jika ro.build.type tidak tersedia, build userdebug memungkinkan menjalankan adb shell sebagai root (terminal # ).

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) menggunakan export 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 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 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.