Tôi đang viết một số thử nghiệm chấp nhận hộp đen chạy trên thiết bị Android vật lý. Ứng dụng được kiểm tra (AUT) dựa trên bản xem trước của máy ảnh. Cụ thể, nó sử dụng phương thức setOneShotPreviewCallback
của lớp android.hardware.Camera
. Tôi đang tìm cách chèn một hình ảnh xem trước giả để kiểm tra hành vi của ứng dụng.Android: Đưa vào xem trước máy ảnh giả cho mục đích thử nghiệm
Tôi nghĩ mình có thể đánh lừa đối tượng Camera bằng mã kiểm tra gọi đối tượng PreviewCallback
của AUT, nhưng không may, biến mẫu mPreviewCallback
là riêng tư đối tượng Camera và do đó mã thử nghiệm của tôi không có cách nào để tham chiếu đến PreviewCallback
đối tượng. Một cách khác tôi đã nghĩ đến là gửi Message
đến máy ảnh EventHandler
, nhưng một lần nữa, trường mEventHandler
là riêng tư, vì vậy mã kiểm tra không có cách nào để có được tham chiếu đến Trình xử lý.
Tôi nghĩ rằng đề xuất này có thể phá vỡ quy tắc thiết bị vật lý của bạn nhưng có thể chạy trên genymotion có thể đạt được lừa bạn mong muốn. http://www.genymotion.com/features/ – Machinarius
Thiết bị của bạn có được root không? –
@Machinarius: Tôi đã theo dõi gợi ý của bạn và đã cài đặt genymotion. Mặc dù nó là một phần mềm tốt, tôi không thể tìm thấy cách để chèn một hình ảnh theo chương trình vào luồng xem trước của máy ảnh. Có vẻ như các hành động genymotions duy nhất cho phép là kết nối luồng video vật lý của tôi với máy ảnh mô phỏng. Tôi đã bỏ qua một cái gì đó? – lacton