Alat validasi ekstensi Kamera memungkinkan produsen perangkat memverifikasi bahwa pustaka vendor OEM Ekstensi Kamera diterapkan dengan benar. Alat ini mencakup tes validasi otomatis dan manual.
Tes validasi otomatis: memvalidasi bahwa antarmuka pustaka vendor diimplementasikan dengan benar. Misalnya, jika
CaptureProcessor
diperlukan untuk pengambilan gambar, pengujian memvalidasi bahwaImageCaptureExtenderImpl#getCaptureStages()
mengembalikan instanceCaptureStage
yang diperlukan untuk mengambil gambar.Tes validasi manual: Memvalidasi efek gambar dan kualitas pratinjau dan gambar yang diambil. Misalnya, pengujian memungkinkan produsen perangkat untuk memvalidasi secara manual apakah efek retouch wajah diterapkan dengan benar atau apakah kekuatan bokeh cukup.
Kode sumber alat validasi adalah bagian dari aplikasi uji ekstensi di repositori Android Jetpack .
Bangun alat validasi ekstensi Kamera
Untuk membuat alat validasi ekstensi, ikuti langkah-langkah berikut:
Unduh kode sumber pustaka Android Jetpack. Untuk detailnya, lihat bagian Memeriksa Kode di Android Jetpack README .
Bangun APK
extensionstestapp
. Hal ini memungkinkan untuk menjalankan tes validasi manual.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
APK adalah output ke jalur berikut:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
Bangun APK
androidTest
. APK ini memungkinkan untuk menjalankan tes validasi otomatis.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
APK adalah output ke jalur berikut:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Jalankan tes validasi otomatis
Untuk menjalankan pengujian validasi otomatis, instal APK extensionstestapp
dan androidTest
.
APK
extensionstestapp
adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
APK
androidTest
adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Jalankan semua tes otomatis
Setelah menginstal APK, untuk menjalankan semua pengujian otomatis guna memvalidasi implementasi pustaka vendor, jalankan perintah berikut:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Jika semua tes lulus, hasil OK akan dikembalikan. Jika tidak, laporan pengujian akhir menunjukkan kegagalan di terminal setelah semua pengujian selesai.
Gambar 1. Tes otomatis hasil OK
Gambar 2. Hasil pengujian otomatis dengan kegagalan
Jalankan pengujian otomatis dari kelas tertentu
Untuk menjalankan pengujian otomatis kelas tertentu, tentukan nama dan jalur kelas target. Contoh berikut menunjukkan perintah untuk menjalankan pengujian untuk kelas ImageCaptureTest
:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Jalankan tes validasi manual
Tes validasi manual dapat ditemukan di aplikasi tes ekstensi . Setelah menginstal dan meluncurkan aplikasi uji ekstensi, alihkan ke mode alat validasi dengan mengetuk item menu di kanan atas.
Setelah beralih ke mode alat validasi, halaman pertama mencantumkan semua kamera yang berisi kemampuan REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
. Jika kamera tidak mendukung mode ekstensi apa pun, item daftar yang sesuai akan berwarna abu-abu.
Gambar 3. Mode alat validasi
Ketuk salah satu kamera untuk melihat mode ekstensi untuk pengujian. Mode ekstensi yang tidak didukung oleh kamera yang dipilih ditampilkan dalam warna abu-abu.
Gambar 4. Mode ekstensi tersedia untuk kamera
Verifikasi hasil pratinjau
Untuk memverifikasi hasil pratinjau, mulai pengujian manual dengan mengetuk mode ekstensi untuk kamera yang dipilih. Aktivitas pengambilan gambar yang berisi pratinjau kemudian ditampilkan.
Gambar 5. Gambar pratinjau dengan bokeh diaktifkan
Aktivitas pengambilan gambar mendukung fungsi berikut:
- Perbesar/perkecil
- Ketuk untuk fokus
- Tombol sakelar mode flash
- EV +/-
- Tombol sakelar diaktifkan/dinonaktifkan ekstensi
Pastikan bahwa fungsi zoom in/out, tap-to-focus, flash mode, dan EV +/- berfungsi seperti yang diharapkan di pratinjau.
Verifikasi hasil gambar yang diambil
Untuk mengambil gambar, ketuk tombol TANGKAP (tombol bulat) di aktivitas pengambilan gambar. Ini meluncurkan aktivitas validasi gambar yang menunjukkan gambar yang diambil.
Gambar 6. Gambar yang diambil dengan bokeh diaktifkan
Aktivitas validasi gambar mencakup fungsi berikut:
- Cubit masuk/keluar untuk menskalakan gambar
- Geser ke kiri/kanan untuk mengganti gambar yang diambil
- Menangkap kembali
- Simpan item menu gambar
Verifikasi apakah gambar yang diambil sudah benar dan cocok dengan pengaturan zoom in/out, tap-to-focus, mode flash, dan EV +/- yang ditetapkan saat mengambil gambar.
Jika hasil yang diambil sudah benar, ketuk tombol LULUS (tanda centang) di sudut kanan bawah. Jika tidak, ketuk tombol GAGAL (tanda seru) di sudut kiri bawah.
Lihat hasil tes
Setelah mode ekstensi diverifikasi sebagai lulus atau gagal, item daftar untuk mode ekstensi menunjukkan warna dan indikator latar belakang yang berbeda. Dalam tampilan daftar semua kamera, item ditampilkan dalam warna berikut:
- Latar belakang putih: Kamera mendukung setidaknya satu mode ekstensi dan mode ekstensi yang didukung tidak sepenuhnya divalidasi.
- Latar belakang hijau: Kamera mendukung setidaknya satu mode ekstensi. Semua mode ekstensi yang didukung divalidasi dengan semua hasil lulus.
- Latar belakang merah: Kamera mendukung setidaknya satu mode ekstensi. Semua mode ekstensi yang didukung divalidasi dengan setidaknya satu hasil mode ekstensi gagal.
- Latar belakang abu-abu: Fitur ini tidak tersedia.
Gambar 7. Warna yang menunjukkan hasil pengujian untuk kamera dan mode ekstensi
Fungsi alat validasi lainnya
Setelah semua pengujian selesai, aktivitas daftar kamera menyediakan fungsi berikut:
- Ekspor hasil pengujian: Mengekspor hasil pengujian sebagai file CSV ke folder
Documents/ExtensionsValidation
. - Reset: Menghapus semua hasil tes yang di-cache.
- Aplikasi sampel ekstensi: Beralih ke mode aplikasi sampel ekstensi.
Setelah menyelesaikan pengujian, Anda dapat mengekspor hasil pengujian. Jika Anda menemukan masalah dan versi baru implementasi pustaka vendor dengan solusi perlu diverifikasi lagi, setel ulang hasil pengujian sebelumnya dan jalankan kembali semua mode ekstensi yang didukung pada semua kamera untuk memverifikasi bahwa masalah telah diperbaiki.