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 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 perintah repo init.
  • Untuk mendapatkan update berikutnya pada alat ACTS, buka direktori utama Android:
    • Gunakan repo sync tools/test/connectivity
    • Dan repo sync external/sl4a

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

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