Alat validasi ekstensi Kamera memungkinkan produsen perangkat memverifikasi bahwa pustaka vendor OEM Ekstensi Kamera diterapkan dengan benar. Alat ini mencakup pengujian validasi otomatis dan manual.
Tes validasi otomatis: memvalidasi bahwa antarmuka perpustakaan vendor diterapkan dengan benar. Misalnya, jika
CaptureProcessor
diperlukan untuk pengambilan gambar, pengujian memvalidasi bahwaImageCaptureExtenderImpl#getCaptureStages()
mengembalikan instanceCaptureStage
yang diperlukan untuk mengambil gambar.Tes validasi manual: Validasi efek gambar dan kualitas pratinjau dan gambar yang diambil. Misalnya, pengujian ini memungkinkan produsen perangkat memvalidasi secara manual apakah efek retouch wajah diterapkan dengan benar atau apakah kekuatan bokehnya memadai.
Kode sumber alat validasi adalah bagian dari aplikasi pengujian ekstensi di repositori Android Jetpack .
Buat alat validasi ekstensi Kamera
Untuk membuat alat validasi ekstensi, ikuti langkah-langkah berikut:
Unduh kode sumber perpustakaan Android Jetpack. Untuk detailnya, lihat bagian Memeriksa Kode pada 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 dikeluarkan 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 dikeluarkan 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
.
extensionstestapp
APKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTest
APKadb 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 pengujian 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. Hasil tes otomatis OK
Gambar 2. Hasil tes otomatis dengan kegagalan
Jalankan pengujian otomatis pada kelas tertentu
Untuk menjalankan pengujian otomatis pada kelas tertentu, tentukan nama dan jalur kelas target. Contoh berikut menunjukkan perintah untuk menjalankan tes 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 pengujian ekstensi . Setelah menginstal dan meluncurkan aplikasi pengujian ekstensi, beralihlah 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 terkait 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 yang tersedia untuk kamera
Verifikasi hasil pratinjau
Untuk memverifikasi hasil pratinjau, mulai tes manual dengan mengetuk mode ekstensi untuk kamera yang dipilih. Aktivitas pengambilan gambar yang berisi pratinjau kemudian ditampilkan.
Gambar 5. Pratinjau gambar dengan bokeh diaktifkan
Aktivitas pengambilan gambar mendukung fungsi-fungsi berikut:
- Memperbesar/memperkecil
- Ketuk untuk fokus
- Tombol sakelar mode lampu kilat
- EV +/-
- Tombol sakelar ekstensi diaktifkan/dinonaktifkan
Pastikan fungsi zoom in/out, tap-to-focus, mode flash, dan EV +/- berfungsi seperti yang diharapkan dalam pratinjau.
Verifikasi hasil gambar yang diambil
Untuk mengambil gambar, ketuk tombol CAPTURE (tombol bulat) pada aktivitas pengambilan gambar. Ini meluncurkan aktivitas validasi gambar yang menampilkan gambar yang diambil.
Gambar 6. Gambar yang diambil dengan bokeh diaktifkan
Aktivitas validasi gambar mencakup fungsi-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, ketuk untuk fokus, mode lampu kilat, dan EV +/- yang diatur saat mengambil gambar.
Jika hasil tangkapan sudah benar, tap tombol PASS (tanda centang) di pojok kanan bawah. Jika tidak, ketuk tombol GAGAL (tanda seru) di pojok kiri bawah.
Lihat hasil tes
Setelah mode ekstensi diverifikasi sebagai lulus atau gagal, item daftar untuk mode ekstensi menunjukkan warna latar belakang dan indikator 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 divalidasi sepenuhnya.
- Latar belakang hijau: Kamera mendukung setidaknya satu mode ekstensi. Semua mode ekstensi yang didukung divalidasi dengan semua hasil yang diteruskan.
- 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 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 contoh ekstensi: Beralih ke mode aplikasi contoh ekstensi.
Setelah menyelesaikan pengujian, Anda dapat mengekspor hasil pengujian. Jika Anda menemukan masalah dan versi baru implementasi pustaka vendor beserta solusinya perlu diverifikasi lagi, setel ulang hasil pengujian sebelumnya dan jalankan kembali semua mode ekstensi yang didukung di semua kamera untuk memverifikasi bahwa masalah telah diperbaiki.