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ğrulayın. Örneğin, resim çekmek için
CaptureProcessor
gerekiyorsa testler,ImageCaptureExtenderImpl#getCaptureStages()
'un resim çekmek için gerekenCaptureStage
örneklerini döndürdüğünü doğrular.Manuel doğrulama testleri: Önizleme ve çekilen resimlerin resim efektlerini ve kalitesini doğrulayın. Örneğin, bu testler sayesinde cihaz üreticileri, yüz rötuşu efektinin doğru şekilde uygulanıp uygulanmadığını veya bulanıklık etkisinin yeterli olup olmadığını manuel olarak doğrulayabilir.
Doğrulama aracının kaynak kodu, Android Jetpack deposundaki uzantı 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 dokümanının Kodu kontrol etme bölümüne bakın.
extensionstestapp
APK'yı oluşturun. Bu sayede manuel doğrulama testleri çalıştırabilirsiniz.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
APK, aşağıdaki yola yazılır:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTest
APK'yı 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 yazı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 nihai test raporunda terminaldeki hatalar gösterilir.
Şekil 1. Otomatik testler için "Tamam" sonucu
Şekil 2. Otomatik testler hatayla 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 test ç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 görünür.
Şekil 3. Doğrulama aracı modu
Test için uzantı modlarını görmek üzere kameralardan birine dokunun. Seçilen kamera tarafından desteklenmeyen uzantı modları gri renkte gösterilir.
Şekil 4. Kamera için kullanılabilen uzantı modları
Önizleme sonuçlarını doğrulama
Önizleme sonuçlarını doğrulamak için seçili kameranın bir uzantı moduna dokunarak manuel test başlatın. Ardından, önizlemeyi içeren bir resim yakalama etkinliği gösterilir.
Şekil 5. Bokeh efekti etkinken resmi önizleme
Resim yakalama etkinliği aşağıdaki işlevleri destekler:
- Yakınlaştır/uzaklaştır
- Odaklamak için dokunma
- Flaş modları anahtarı düğmesi
- EV +/-
- Uzantı etkin/devre dışı açma/kapatma düğmesi
Yakınlaştırma/uzaklaştırma, dokunarak odaklama, flaş modları ve EV +/- işlevlerinin önizlemede beklendiği gibi çalıştığını doğrulayın.
Çekilen resim sonuçlarını doğrulama
Resmi çekmek için resim çekme etkinliğindeki ÇEK düğmesine (yuvarlak düğme) dokunun. Bu işlem, çekilen resmi gösteren bir resim doğrulama etkinliği başlatır.
Şekil 6. Bokeh efekti etkinken çekilmiş resim
Resim doğrulama etkinliği aşağıdaki işlevleri içerir:
- Resmi ölçeklendirmek için iki parmağı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 kaydet menüsü öğesi
Çekilen görüntünün doğru olup olmadığını ve görüntü çekilirken ayarlanan yakınlaştırma/uzaklaştırma, dokunarak odaklama, flaş modları ve EV +/- ayarlarıyla eşleşip eşleşmediğini doğrulayın.
Alınan sonuçlar doğruysa sağ alt köşedeki GEÇTİ düğmesine (onay işareti) dokunun. Aksi takdirde, sol alt köşedeki BAŞARISIZ düğmesine (ünlem işareti) dokunun.
Test sonuçlarını görüntüleme
Bir uzantı modu "geçti" veya "geçmedi" olarak doğrulandıktan sonra, uzantı modunun liste öğesinde farklı bir arka plan rengi ve gösterge 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 uzantı modunu destekler ve desteklenen uzantı modları tamamen doğrulanmamıştır.
- Yeşil arka plan: Kamera en az bir uzantı modunu destekler. Desteklenen tüm uzantı modları, tüm sonuçların başarılı olduğu şekilde doğrulanır.
- Kırmızı arka plan: Kamera en az bir uzantı modunu destekler. Desteklenen tüm uzatma modları, en az bir uzatma modu sonucunun başarısız olduğu şekilde doğrulanır.
- Gri arka plan: Bu özellik kullanılamıyor.
Şekil 7. Kameralar ve uzantı modları için test sonuçlarını gösteren renkler
Doğrulama aracının diğer 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: Önbelleğe alınan tüm 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 sorun bulursanız ve çözümlerin yer aldığı tedarikçi kitaplığı uygulaması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.