Fiziksel bir android cihazda çalışan bazı kara kutu, kabul testleri yazıyorum. Test altındaki uygulama (AUT) kameranın önizlemesine dayanır. Özellikle, android.hardware.Camera
sınıfının setOneShotPreviewCallback
yöntemini kullanır. Uygulamanın davranışını test etmek için sahte bir önizleme resmi enjekte etmenin bir yolunu arıyorum.Android: Test amacı için sahte kamera ön izlemesini enjekte Edin
ben test kodu çağrısı AUT 'PreviewCallback
nesne alarak Kamera nesne kandırabiIirim sandım, ama ne yazık ki, örneğin değişken mPreviewCallback
Kamera nesneye özeldir ve böylece benim test kodu bir başvuru almak için bir yol vardır PreviewCallback
nesnesi.
Kamera en EventHandler
bir Message
göndermekti, fakat test kodu Handler'a bir başvuru almak için bir yol vardır, böylece tekrar alan mEventHandler
, özeldir hakkında düşündüğüm bir başka yolu.
Bu öneri fiziksel cihaz kuralınızı bozabilir ama belki de genymotion üzerinde koşarak istediğiniz hile elde edebilirsiniz. http://www.genymotion.com/features/ – Machinarius
Cihazınız kök mü? –
@Machinarius: Önerinizi takip ettim ve genymotion kurdum. İyi bir yazılım parçası olsa da, kameranın önizleme akışında bir görüntüyü program aracılığıyla enjekte etmenin bir yolunu bulamadım. Genymotions'ın izin verdiği tek hareket, fiziksel web kameramın akışını simüle kameralara bağlamak gibi görünüyor. Bir şeyi gözden kaçırdım mı? – lacton