ich einige Black-Box schreibe, Abnahmen, die auf einem physischen Android-Gerät laufen. Die zu testende Anwendung (AUT) basiert auf der Vorschau der Kamera. Insbesondere verwendet sie die setOneShotPreviewCallback
Verfahren der android.hardware.Camera
Klasse. Ich bin auf der Suche nach einer Möglichkeit, ein gefälschtes Vorschaubild zu erstellen, um das Verhalten der App zu testen.Android: Spritzen gefälschte Kamera-Vorschau für Testzwecke
Ich dachte, ich die Kamera Objekt täuschen konnte den Testcode Aufruf der PreviewCallback
Objekt AUT, indem, aber leider die Instanzvariable mPreviewCallback
ist an die Kamera Objekt privat und damit mein Testcode keine Möglichkeit hat, einen Verweis auf die bekommen PreviewCallback
Objekt.
Ein anderer Weg, dachte ich über eine Message
an der Kamera EventHandler
, aber auch hier das Feld mEventHandler
ist privat, zu senden war so der Testcode keine Möglichkeit, einen Verweis auf die Handler zu bekommen hat.
Ich denke, dieser Vorschlag Ihre physische Gerät Regel brechen könnte, aber vielleicht auf genymotion laufen kann den Trick, den Sie wünschen erreichen. http://www.genymotion.com/features/ – Machinarius
Ist Ihr Gerät verwurzelt? –
@Machinarius: Ich habe deinen Vorschlag gefolgt und habe genymotion installiert. Obwohl es ein gutes Stück Software ist, konnte ich keine Möglichkeit finden, ein Bild programmatisch in den Vorschau-Stream der Kamera zu injizieren. Es scheint, die einzige Aktion, die genymotions erlaubt, ist es, den Stream meiner physischen Webcam mit der simulierten Kamera zu verbinden. Habe ich etwas übersehen? – lacton