Alat validasi ekstensi kamera memungkinkan produsen perangkat memverifikasi bahwa library vendor OEM Ekstensi Kamera diterapkan dengan benar. Alat ini mencakup pengujian validasi otomatis dan manual.
Pengujian validasi otomatis: memvalidasi bahwa antarmuka library vendor diterapkan dengan benar. Misalnya, jika
CaptureProcessor
diperlukan untuk pengambilan gambar, pengujian akan memvalidasi bahwaImageCaptureExtenderImpl#getCaptureStages()
menampilkan instanceCaptureStage
yang diperlukan untuk mengambil gambar.Pengujian validasi manual: Memvalidasi 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 bokeh sudah memadai.
Kode sumber alat validasi adalah bagian dari aplikasi pengujian ekstensi di repositori Android Jetpack.
Mem-build alat validasi ekstensi kamera
Untuk mem-build alat validasi ekstensi, ikuti langkah-langkah berikut:
Download kode sumber library Android Jetpack. Untuk mengetahui detailnya, lihat bagian Memeriksa Kode dalam README Android Jetpack.
Build APK
extensionstestapp
. Hal ini memungkinkan pengujian validasi manual dijalankan.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
APK akan di-output ke jalur berikut:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
Build APK
androidTest
. APK ini memungkinkan pengujian validasi otomatis dijalankan.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
APK akan di-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
Menjalankan pengujian 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
Menjalankan semua pengujian otomatis
Setelah menginstal APK, untuk menjalankan semua pengujian otomatis guna memvalidasi implementasi library vendor, jalankan perintah berikut:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Jika semua pengujian lulus, hasil OK akan ditampilkan. Jika tidak, laporan pengujian akhir akan menampilkan kegagalan di terminal setelah semua pengujian selesai.
Gambar 1. Hasil OK pengujian otomatis
Gambar 2. Pengujian otomatis menghasilkan kegagalan
Menjalankan pengujian otomatis class tertentu
Untuk menjalankan pengujian otomatis class tertentu, tentukan nama dan jalur
class target. Contoh berikut menunjukkan perintah untuk menjalankan pengujian untuk
class ImageCaptureTest
:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Menjalankan pengujian validasi manual
Pengujian validasi manual 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 akan mencantumkan semua kamera
yang berisi
kemampuan
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
. Jika kamera tidak mendukung mode ekstensi apa pun, item daftar
terkait 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 akan ditampilkan dalam warna abu-abu.
Gambar 4. Mode ekstensi yang tersedia untuk kamera
Memverifikasi 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. Pratinjau gambar dengan bokeh diaktifkan
Aktivitas pengambilan gambar mendukung fungsi berikut:
- Memperbesar/memperkecil
- Ketuk untuk memfokuskan
- Tombol tombol mode flash
- EV +/-
- Tombol tombol beralih ekstensi diaktifkan/dinonaktifkan
Verifikasi bahwa fungsi zoom in/out, ketuk untuk memfokuskan, mode flash, dan EV +/- berfungsi seperti yang diharapkan dalam pratinjau.
Memverifikasi hasil gambar yang diambil
Untuk mengambil gambar, ketuk tombol CAPTURE (tombol bulat) dalam aktivitas pengambilan gambar. Tindakan ini akan meluncurkan aktivitas validasi gambar yang menampilkan gambar yang diambil.
Gambar 6. Gambar yang diambil dengan bokeh diaktifkan
Aktivitas validasi gambar mencakup fungsi berikut:
- Cubit untuk memperbesar/memperkecil skala gambar
- Geser ke kiri/kanan untuk mengganti gambar yang diambil
- Merekam ulang
- Item menu simpan gambar
Verifikasi apakah gambar yang diambil sudah benar dan cocok dengan setelan zoom masuk/keluar, ketuk untuk memfokuskan, 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 pojok kiri bawah.
Melihat hasil pengujian
Setelah mode ekstensi diverifikasi sebagai lulus atau gagal, item daftar untuk mode ekstensi akan menampilkan warna latar belakang dan indikator yang berbeda. Dalam tampilan daftar semua kamera, item ditampilkan dalam warna berikut:
- Latar belakang putih: Kamera mendukung minimal satu mode ekstensi dan mode ekstensi yang didukung tidak divalidasi sepenuhnya.
- Latar belakang hijau: Kamera mendukung minimal satu mode ekstensi. Semua mode ekstensi yang didukung divalidasi dengan semua hasil yang lulus.
- Latar belakang merah: Kamera mendukung minimal satu mode ekstensi. Semua mode ekstensi yang didukung divalidasi dengan setidaknya satu hasil mode ekstensi yang 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:
- Export test results: Mengekspor hasil pengujian sebagai file CSV ke
folder
Documents/ExtensionsValidation
. - Reset: Menghapus semua hasil pengujian 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 library vendor dengan solusi perlu diverifikasi lagi, reset hasil pengujian sebelumnya dan jalankan ulang semua mode ekstensi yang didukung di semua kamera untuk memverifikasi bahwa masalah telah diperbaiki.