Я пишу чемоданы, приемочные тесты, которые запускаются на физическом устройстве Android. Тестирование приложения (AUT) зависит от предварительного просмотра камеры. В частности, он использует метод setOneShotPreviewCallback
класса android.hardware.Camera
. Я ищу способ ввести фальшивое изображение предварительного просмотра, чтобы проверить поведение приложения.Android: предварительная предварительная предварительная предварительная фотокамера для целей тестирования
Я думал, что я мог бы обмануть объект камеры при наличии тестового кода вызова в AUT в PreviewCallback
объекте, но, к сожалению, экземпляр переменного mPreviewCallback
является частным объектом камеры и, таким образом, мой тестовый код не имеет возможностей получить ссылку на PreviewCallback
объект.
Другой способ, которым я думал о том, чтобы отправить Message
к камеры EventHandler
, но опять же поле mEventHandler
является частным, поэтому тестовый код не имеет возможности получить ссылку на Handler.
Я думаю, что это предложение может нарушить ваше физическое правило устройства, но, возможно, работа над genymotion может достичь трюка, которого вы желаете. http://www.genymotion.com/features/ – Machinarius
Является ли ваше устройство укорененным? –
@Machinarius: Я последовал твоему предложению и установил гениоз. Хотя это прекрасный кусок программного обеспечения, я не мог найти способ программно вставить изображение в поток предварительного просмотра камеры. Кажется, единственное действие, которое позволяют genymotions, - связать поток моей физической веб-камеры с имитируемой камерой. Я что-то упустил? – lacton