Pengujian telepon ACTS

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 berada di tools/test/connectivity/acts.

Halaman ini menjelaskan cara menjalankan pengujian 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 di 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 multi-gigabyte yang terus berkembang. Sesuaikan ekspektasi waktu download Anda.
    • Jika mesin dibatasi ukurannya, tambahkan --depth=1 ke perintah repo init.
  • Untuk mendapatkan update mendatang tentang alat ACTS, buka direktori root Android:
    • Gunakan repo sync tools/test/connectivity
    • Dan repo sync external/sl4a

Memverifikasi build userdebug di perangkat

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

Mem-build dan menginstal SL4A

Untuk mem-build dan menginstal Lapisan Skrip untuk Android (SL4A), ikuti petunjuk di Lapisan Skrip untuk Android. Bagian Menambahkan Build SL4A ke Android Build secara Default bersifat opsional.

Setelah mem-build 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

Konfigurasikan perangkat menggunakan persyaratan alat/build 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 harus ditambahkan ke ~/.bashrc (atau yang setara) menggunakan export ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys dengan /path/to/directory adalah jalur yang sepenuhnya memenuhi syarat di host. Untuk memecahkan masalah ADB, lihat Menjalankan aplikasi di perangkat hardware.
  • Izinkan proses debug USB: Saat driver adb diinstal, perangkat adb dapat memicu dialog di perangkat untuk mengizinkan proses debug USB.

  • Menginstal 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 pada 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 tempat pengujian dapat dijalankan
(testbed) _description Berikan komentar pada setiap testbed, karena ACTS dapat menargetkan setiap testbed
(testbed) name Nama tempat pengujian untuk memanggil dari command line
(testbed) AndroidDevice Daftar perangkat tertentu yang ditargetkan pengujian
Catatan: Mungkin ada beberapa perangkat yang tercantum. Pengujian yang menjalankan ponsel yang saling menelepon mengharapkan ada dua perangkat dan gagal jika ada lebih sedikit. Jika ada dua perangkat yang tercantum dan pengujian hanya mengharapkan satu, pengujian tersebut akan dijalankan di perangkat pertama.
(testbed)(AndroidDevice) serial Nomor seri perangkat (dicetak dari adb devices)
(testbed)(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 mengambil nomor telepon dari perangkat di bagian 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 di 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 di 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.