Kamera uzantıları doğrulama aracı, cihaz üreticilerinin Kamera Uzantıları OEM tedarikçi kitaplığının doğru şekilde uygulandığını doğrulamasına olanak tanır. Araç, otomatik ve manuel doğrulama testlerini içerir.
Otomatik doğrulama testleri: Tedarikçi kitaplığı arayüzünün doğru şekilde uygulandığını doğrular. Örneğin, resim çekmek için
CaptureProcessor
gerekiyorsa testler, resim çekmek için gerekliCaptureStage
örneklerininImageCaptureExtenderImpl#getCaptureStages()
tarafından döndürüldüğünü doğrular.Manuel doğrulama testleri: Önizleme ve çekilen resimlerin görüntü efektlerini ve kalitesini doğrulayın. Örneğin, testler cihaz üreticilerinin yüz rötuş efektinin doğru şekilde uygulanıp uygulanmadığını veya bokeh gücünün yeterli olup olmadığını manuel olarak doğrulamasına olanak tanır.
Doğrulama aracının kaynak kodu, Android Jetpack deposundaki uzantılar test uygulamasının bir parçasıdır.
Kamera uzantıları doğrulama aracını oluşturma
Uzantı doğrulama aracını oluşturmak için aşağıdaki adımları uygulayın:
Android Jetpack kitaplığı kaynak kodunu indirin. Ayrıntılar için Android Jetpack README dosyasının Checking out the Code (Kodu kullanıma alma) bölümüne bakın.
extensionstestapp
APK'sını oluşturun. Bu sayede manuel doğrulama testleri çalıştırılabilir.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
APK, aşağıdaki yola çıkarılır:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTest
APK'sını oluşturun. Bu APK, otomatik doğrulama testlerinin çalıştırılmasına olanak tanır.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
APK, aşağıdaki yola çıkarılır:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
Otomatik doğrulama testleri çalıştırma
Otomatik doğrulama testlerini çalıştırmak için extensionstestapp
ve androidTest
APK'larını yükleyin.
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
Tüm otomatik testleri çalıştırma
APK'ları yükledikten sonra, tedarikçi kitaplığı uygulamasını doğrulamak için tüm otomatik testleri çalıştırmak üzere aşağıdaki komutu çalıştırın:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Tüm testler başarılı olursa OK sonucu döndürülür. Aksi takdirde, tüm testler tamamlandıktan sonra terminalde son test raporunda hatalar gösterilir.
1. şekil. Otomatik testler OK sonucu
Şekil 2. Otomatik testler başarısızlıkla sonuçlanıyor
Belirli bir sınıfın otomatik testlerini çalıştırma
Belirli bir sınıfın otomatik testlerini çalıştırmak için hedef sınıfın adını ve yolunu belirtin. Aşağıdaki örnekte, ImageCaptureTest
sınıfı için testleri çalıştırma komutu gösterilmektedir:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Manuel doğrulama testleri çalıştırma
Manuel doğrulama testleri uzantı test uygulamasında bulunur. Uzantı test uygulamasını yükleyip başlattıktan sonra sağ üstteki menü öğesine dokunarak doğrulama aracı moduna geçin.
Doğrulama aracı moduna geçtikten sonra, ilk sayfada REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
özelliğini içeren tüm kameralar listelenir. Bir kamera herhangi bir uzantı modunu desteklemiyorsa ilgili liste öğesi gri renkte gösterilir.
3.Şekil Doğrulama aracı modu
Test için uzatma modlarını görmek üzere kameralardan birine dokunun. Seçilen kamera tarafından desteklenmeyen uzatma modları gri renkte gösterilir.
Şekil 4. Kamera için kullanılabilen uzatma modları
Önizleme sonuçlarını doğrulama
Önizleme sonuçlarını doğrulamak için seçili kameranın uzantı moduna dokunarak manuel bir test başlatın. Önizlemeyi içeren bir görüntü yakalama etkinliği gösterilir.
5.şekil Bokeh özelliği etkin durumdayken önizleme resmi
Görüntü yakalama etkinliği aşağıdaki işlevleri destekler:
- Yakınlaştır/uzaklaştır
- Odaklamak için dokunma
- Flaş modları arasında geçiş düğmesi
- EV +/-
- Uzantı etkin/devre dışı bırakma açma/kapatma düğmesi
Yakınlaştırma/uzaklaştırma, odaklanmak için dokunma, flaş modları ve EV +/- işlevlerinin önizlemede beklendiği gibi çalıştığını doğrulayın.
Yakalanan görüntü sonuçlarını doğrulama
Resmi yakalamak için görüntü yakalama etkinliğinde YAKALA düğmesine (yuvarlak düğme) dokunun. Bu işlem, çekilen resmi gösteren bir resim doğrulama etkinliği başlatır.
6.şekil Bokeh efekti etkinleştirilmiş şekilde çekilen resim
Resim doğrulama etkinliği aşağıdaki işlevleri içerir:
- Görüntüyü ölçeklendirmek için parmaklarınızı yakınlaştırın/uzaklaştırın.
- Çekilen resimler arasında geçiş yapmak için sola/sağa kaydırın.
- Yeniden yakalama
- Resmi kaydetme menü öğesi
Çekilen görüntünün doğru olup olmadığını ve görüntüyü çekerken ayarlanan yakınlaştırma/uzaklaştırma, odaklamak için dokunma, flaş modları ve EV +/- ayarlarıyla eşleşip eşleşmediğini doğrulayın.
Elde edilen sonuçlar doğruysa sağ alt köşedeki PASS (GEÇTİ) düğmesine (onay işareti) dokunun. Aksi takdirde, sol alt köşedeki FAIL (BAŞARISIZ) düğmesine (ünlem işareti) dokunun.
Test sonuçlarını görüntüleme
Bir uzantı modu geçme veya kalma olarak doğrulandıktan sonra, uzantı modunun liste öğesi farklı bir arka plan rengi ve göstergeyle gösterilir. Tüm kameraların liste görünümünde öğeler aşağıdaki renklerde gösterilir:
- Beyaz arka plan: Kamera en az bir uzatma modunu destekliyor ve desteklenen uzatma modları tamamen doğrulanmıyor.
- Yeşil arka plan: Kamera en az bir uzatma modunu destekler. Desteklenen tüm uzantı modları, tüm sonuçlar başarılı olacak şekilde doğrulanır.
- Kırmızı arka plan: Kamera en az bir uzatma modunu destekliyor. Desteklenen tüm uzantı modları, en az bir uzantı modu sonucu başarısız olacak şekilde doğrulanır.
- Gri arka plan: Bu özellik kullanılamaz.
Şekil 7. Kameralar ve uzantı modları için test sonuçlarını gösteren renkler
Diğer doğrulama aracı işlevleri
Tüm testler tamamlandıktan sonra kamera listesi etkinliği aşağıdaki işlevleri sağlar:
- Test sonuçlarını dışa aktar: Test sonuçlarını CSV dosyası olarak
Documents/ExtensionsValidation
klasörüne aktarır. - Sıfırla: Tüm önbelleğe alınmış test sonuçlarını temizler.
- Uzantılar örnek uygulaması: Uzantılar örnek uygulaması moduna geçer.
Testi tamamladıktan sonra test sonuçlarını dışa aktarabilirsiniz. Bir sorunla karşılaşırsanız ve çözümler içeren tedarikçi kitaplığı uygulamasının yeni bir sürümünün tekrar doğrulanması gerekirse önceki test sonuçlarını sıfırlayın ve sorunların düzeltildiğini doğrulamak için tüm kameralarda desteklenen tüm uzantı modlarını yeniden çalıştırın.