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

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

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