Menggunakan aplikasi pengujian pengontrol media

Aplikasi media yang berinteraksi melalui suara dengan Asisten Google di ponsel, mobil, TV, dan headphone Powered by Android didukung oleh API sesi media Android dan menggunakan Media Actions. Siklus proses tindakan media bisa sulit diikuti. Bahkan permintaan putar dari penelusuran yang sederhana memiliki banyak langkah perantara yang dapat mengalami error, seperti yang ditunjukkan dalam linimasa yang disederhanakan:

Siklus Proses Media Action

Gambar 1. Siklus Proses Media Action

Aplikasi Pengujian Pengontrol Media (MCT) memungkinkan Anda menguji seluk-beluk pemutaran media di Android dan membantu memverifikasi penerapan sesi media Anda.

Aplikasi Pengujian Pengontrol Media tersedia dalam dua versi:

  • Aplikasi klien diimplementasikan di atas MediaControllerCompat lama. Hal ini memungkinkan pengujian aplikasi sesi media Anda yang dibuat di atas MediaSessionCompat lama atau MediaSession Media3 saat diakses oleh aplikasi eksternal melalui MediaControllerCompat lama. Temukan kode sumber versi lama di GitHub.
  • Aplikasi klien diimplementasikan di atas Media3 MediaController terbaru. Hal ini memungkinkan pengujian aplikasi sesi media Anda yang dibuat di atas MediaSessionCompat lama atau MediaSession Media3 saat diakses oleh aplikasi eksternal melalui MediaController Media3. Temukan kode sumber versi Media3 di GitHub.

MCT menampilkan informasi tentang MediaController aplikasi Anda, seperti PlaybackState dan metadatanya, serta dapat digunakan untuk menguji kontrol media antar-aplikasi. MCT juga menyertakan framework pengujian verifikasi yang memungkinkan Anda mengotomatiskan pengujian QA.

Untuk menggunakan MCT, aplikasi Anda harus memiliki layanan browser media dan Anda harus mengizinkan MCT untuk terhubung ke layanan tersebut. Lihat Membuat layanan browser media untuk mengetahui informasi selengkapnya.

Memulai MCT

Halaman Peluncuran MCT
Gambar 2. Halaman Peluncuran MCT

Saat meluncurkan MCT, Anda akan melihat dua daftar:

  • MediaSession Aktif - Daftar ini awalnya kosong saat Anda meluncurkan MCT dan Anda akan melihat pesan "Tidak ada aplikasi media yang ditemukan. Izin Pemroses Notifikasi diperlukan untuk memindai sesi media aktif." Klik Setelan untuk membuka layar izin dan mengaktifkan izin untuk MCT.
  • Implementasi MediaBrowserService - Daftar ini menampilkan aplikasi yang telah mengimplementasikan layanan browser media. Jika Anda telah menerapkan layanan browser media, aplikasi Anda akan muncul dalam daftar ini, tetapi Anda hanya dapat menggunakan MCT jika telah mengonfigurasi aplikasi untuk menerima semua koneksi atau telah masuk daftar yang diizinkan MCT. Lihat Mengontrol koneksi klien dengan onGetRoot() untuk mengetahui informasi selengkapnya.

Menguji aplikasi telepon secara manual

Jika Anda mengizinkan MCT terhubung ke layanan browser media aplikasi, aplikasi Anda akan muncul dalam daftar implementasi daftar layanan browser media. Temukan di sana dan klik Control untuk memulai aplikasi Anda di latar belakang.

Jika tidak, Anda harus memulai aplikasi sendiri di latar belakang terlebih dahulu, lalu mengklik Kontrol saat aplikasi muncul dalam daftar sesi media aktif.

Menguji persiapan dan pemutaran

Saat MCT mulai mengontrol aplikasi Anda, MCT akan menampilkan metadata sesi aplikasi saat ini: media yang saat ini dipilih dan tindakan yang siap ditangani oleh sesi.

Halaman Kontrol
Gambar 3. Halaman Kontrol

Bagian atas halaman kontrol MCT berisi menu drop-down tempat Anda dapat memilih Search, URI, Media ID, atau None, beserta kolom teks untuk menentukan data input yang terkait dengan Search, URI, atau Media ID jika Anda memilih salah satu opsi tersebut.

Tombol Prepare dan Play tepat di bawah kolom teks melakukan panggilan yang sesuai (onPrepare(), onPrepareFromSearch(), onPrepareFromUri(), onPrepareFromMediaId(), onPlay(), onPlayFromSearch(), onPlayFromUri(), onPlayFromMediaId()) bergantung pada tindakan yang Anda pilih.

Menguji fokus audio

Aplikasi media yang berperilaku baik harus dapat menangani fokus audio. Anda dapat menguji fokus audio dengan menjalankan aplikasi audio lain bersama aplikasi Anda. Halaman kontrol MCT menyertakan tombol yang meminta dan melepaskan fokus audio.

Untuk menguji fokus audio, ikuti langkah-langkah berikut:

  1. Gunakan menu drop-down Audio Focus untuk memilih salah satu dari tiga petunjuk durasi AUDIOFOCUS_GAIN, AUDIOFOCUS_GAIN_TRANSIENT, atau AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK.
  2. Tekan tombol untuk meminta fokus.
  3. Tekan tombol lagi untuk melepaskan fokus.

Menguji kontrol transportasi

Menguji Kontrol Transportasi
Gambar 4. Menguji Kontrol Transportasi

Geser ke kiri untuk menampilkan tampilan UI MCT. Tampilan ini memiliki tombol transport pengontrol media standar dan menampilkan gambar dan data program sesi. Tombol transport yang dinonaktifkan dilingkari dengan warna oranye. Semua yang lain aktif.

Uji pemutar Anda menggunakan tombol transport. Status tombol transport harus berubah seperti yang diharapkan. Misalnya, saat Anda menekan tombol PUTAR, tombol tersebut harus dinonaktifkan, dan tombol JEDA serta BERHENTI diaktifkan.

Geser ke kiri lagi untuk melihat tampilan yang menampilkan tindakan opsional. Setiap tindakan memiliki kontrol yang menunjukkan apakah tindakan tersebut aktif atau tidak. Jika aktif, Anda dapat melakukan tindakan dengan mengkliknya.

Jika Anda terhubung dari daftar aplikasi yang memiliki layanan browser media, Anda dapat menggeser ke kiri dua kali lagi untuk melihat tampilan yang memungkinkan Anda menelusuri hierarki konten aplikasi, atau menelusuri hierarki konten.

Menguji aplikasi video secara manual

Gunakan mode layar terpisah untuk menguji pengontrol aplikasi video. Pertama, buka aplikasi video Anda di satu jendela, lalu buka MCT dalam mode layar terpisah.

Menjalankan pengujian verifikasi

Framework pengujian verifikasi menawarkan pengujian sekali klik yang dapat Anda jalankan untuk memastikan bahwa aplikasi media Anda merespons permintaan pemutaran dengan benar.

Menguji aplikasi telepon

Tombol Uji
Gambar 5. Tombol Uji

Untuk mengakses pengujian verifikasi, klik tombol Test di samping aplikasi media Anda.

Status MCT

Status Kontrol Media
Gambar 6. Status Kontrol Media

Tampilan berikutnya menunjukkan informasi mendetail tentang MediaController MCT, misalnya PlaybackState, metadata, dan antrean. Ada dua tombol di kanan atas toolbar. Tombol di sebelah kiri beralih antara log yang dapat diurai dan log yang diformat. Tombol di sebelah kanan memuat ulang tampilan untuk menampilkan informasi terbaru.

Memilih pengujian

Halaman Pemilihan Pengujian
Gambar 7. Halaman Pemilihan Tes

Dengan menggeser ke kiri, Anda akan membuka tampilan pengujian verifikasi, tempat Anda dapat melihat daftar pengujian yang tersedia dan dapat di-scroll. Jika pengujian menggunakan kueri, seperti pengujian putar dari penelusuran yang ditampilkan di Gambar 7, ada kolom teks untuk memasukkan string kueri.

MCT mencakup pengujian untuk tindakan media berikut, dan pengujian lainnya terus ditambahkan ke project:

  • Putar
  • Putar Dari Penelusuran
  • Putar Dari ID Media
  • Putar Dari URI
  • Jeda
  • Hentikan
  • Lewati ke Berikutnya
  • Lewati ke Sebelumnya
  • Lewati ke Item Antrean
  • Geser Ke

Hasil tes

Hasil Pengujian yang Berhasil
Gambar 8. Hasil Pengujian yang Berhasil

Area hasil di bagian bawah tampilan awalnya kosong. Tab ini akan menampilkan hasil saat Anda menjalankan pengujian. Misalnya, untuk menjalankan pengujian putar dari penelusuran, masukkan kueri penelusuran ke dalam kolom teks, lalu klik Run Test. Screenshot berikut menunjukkan hasil pengujian yang berhasil.

Menguji aplikasi Android TV

Saat meluncurkan MCT di Android TV, Anda akan melihat daftar aplikasi media yang diinstal. Perhatikan bahwa aplikasi hanya akan muncul dalam daftar ini jika mengimplementasikan layanan browser media.

Halaman Peluncuran MCT di TV

Gambar 9. Halaman Peluncuran MCT di TV

Memilih aplikasi akan mengarahkan Anda ke layar pengujian, yang menampilkan daftar pengujian verifikasi di sebelah kanan.

Halaman Pengujian Verifikasi di TV

Gambar 10. Halaman Pengujian Verifikasi di TV

Saat Anda menjalankan pengujian, sisi kiri layar akan menampilkan informasi tentang MediaController yang dipilih. Untuk mengetahui detail selengkapnya, periksa log MCT di Logcat.

Halaman Informasi Pengujian di TV

Gambar 11. Halaman Informasi Pengujian di TV

Pengujian yang memerlukan kueri ditandai dengan ikon keyboard. Mengklik salah satu pengujian ini akan membuka kolom input untuk kueri. Klik Enter untuk menjalankan pengujian.

Untuk mempermudah input teks, Anda juga dapat menggunakan perintah adb:

adb shell input text your-query

Anda dapat menggunakan "%s" untuk menambahkan spasi di antara kata. Misalnya, perintah berikut menambahkan teks "halo dunia" ke kolom input.

adb shell input text hello%sworld

Membuat pengujian

Anda dapat mengirimkan permintaan pull dengan lebih banyak pengujian yang menurut Anda berguna. Untuk mempelajari cara membuat pengujian baru, buka Wiki GitHub MCT dan lihat petunjuk pengujian verifikasi.

Untuk mengetahui informasi selengkapnya, tinjau petunjuk kontribusi.

Referensi lainnya

MCT dimaksudkan untuk digunakan bersama dengan aplikasi yang mengimplementasikan API media. Lihat Universal Android Music Player untuk contoh aplikasi tersebut.

Perbaikan bug dan peningkatan kualitas selalu kami nantikan. Lihat petunjuk kontribusi.