Công cụ xác thực tiện ích Máy ảnh

Công cụ xác thực tiện ích máy ảnh cho phép nhà sản xuất thiết bị xác minh rằng thư viện nhà cung cấp OEM của Tiện ích máy ảnh được triển khai chính xác. Công cụ này bao gồm các kiểm thử xác thực tự động và thủ công.

  • Kiểm thử xác thực tự động: xác thực rằng giao diện thư viện nhà cung cấp được triển khai chính xác. Ví dụ: nếu CaptureProcessor là bắt buộc để chụp ảnh, thì các kiểm thử sẽ xác thực rằng ImageCaptureExtenderImpl#getCaptureStages() trả về các thực thể CaptureStage bắt buộc để chụp ảnh.

  • Kiểm thử xác thực thủ công: Xác thực hiệu ứng hình ảnh và chất lượng của hình ảnh xem trước và hình ảnh đã chụp. Ví dụ: các bài kiểm thử cho phép nhà sản xuất thiết bị xác thực theo cách thủ công xem hiệu ứng làm đẹp khuôn mặt có được áp dụng chính xác hay không hoặc độ mạnh của hiệu ứng bokeh có đủ hay không.

Mã nguồn của công cụ xác thực là một phần của ứng dụng kiểm thử tiện ích trong kho lưu trữ Android Jetpack.

Tạo công cụ xác thực tiện ích máy ảnh

Để tạo công cụ xác thực tiện ích, hãy làm theo các bước sau:

  1. Tải mã nguồn thư viện Android Jetpack xuống. Để biết thông tin chi tiết, hãy xem phần Kiểm tra mã trong Tệp README của Android Jetpack.

  2. Tạo tệp APK extensionstestapp. Điều này cho phép chạy các kiểm thử xác thực thủ công.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
    

    Tệp APK được xuất ra theo đường dẫn sau:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  3. Tạo tệp APK androidTest. APK này cho phép chạy các bài kiểm thử xác thực tự động.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
    

    Tệp APK được xuất ra theo đường dẫn sau:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
    

Chạy kiểm thử xác thực tự động

Để chạy các kiểm thử xác thực tự động, hãy cài đặt tệp APK extensionstestappandroidTest.

  • Tệp APK extensionstestapp

      adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  • Tệp APK androidTest

      adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
    

Chạy tất cả kiểm thử tự động

Sau khi cài đặt tệp APK, để chạy tất cả các chương trình kiểm thử tự động nhằm xác thực việc triển khai thư viện của nhà cung cấp, hãy chạy lệnh sau:

adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner

Nếu tất cả các bài kiểm thử đều đạt, kết quả OK sẽ được trả về. Nếu không, báo cáo kiểm thử cuối cùng sẽ hiển thị lỗi trong thiết bị đầu cuối sau khi tất cả các kiểm thử hoàn tất.

automated_validation_result-pass

Hình 1. Kết quả kiểm thử tự động OK

automated_validation_result-fail

Hình 2. Kết quả kiểm thử tự động không đạt

Chạy kiểm thử tự động của một lớp cụ thể

Để chạy kiểm thử tự động của một lớp cụ thể, hãy chỉ định tên và đường dẫn của lớp mục tiêu. Ví dụ sau đây cho thấy lệnh chạy kiểm thử cho lớp ImageCaptureTest:

adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner

Chạy kiểm thử xác thực thủ công

Bạn có thể tìm thấy các bài kiểm thử xác thực thủ công trong ứng dụng kiểm thử tiện ích. Sau khi cài đặt và chạy ứng dụng kiểm thử tiện ích, hãy chuyển sang chế độ công cụ xác thực bằng cách nhấn vào mục trình đơn ở trên cùng bên phải.

Sau khi chuyển sang chế độ công cụ xác thực, trang đầu tiên sẽ liệt kê tất cả các máy ảnh có chức năng REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE. Nếu một máy ảnh không hỗ trợ chế độ tiện ích nào, thì mục tương ứng trong danh sách sẽ có màu xám.

camera_validation_result-initial

Hình 3. Chế độ công cụ xác thực

Nhấn vào một trong các máy ảnh để xem các chế độ tiện ích để kiểm thử. Các chế độ tiện ích mà máy ảnh đã chọn không hỗ trợ sẽ có màu xám.

extension_mode_validation_result-initial

Hình 4. Các chế độ tiện ích có sẵn cho máy ảnh

Xác minh kết quả xem trước

Để xác minh kết quả xem trước, hãy bắt đầu kiểm thử thủ công bằng cách nhấn vào một chế độ tiện ích cho máy ảnh đã chọn. Sau đó, một hoạt động chụp ảnh chứa bản xem trước sẽ xuất hiện.

preview-bokeh_enabled

Hình 5. Hình ảnh xem trước khi bật hiệu ứng bokeh

Hoạt động chụp ảnh hỗ trợ các chức năng sau:

  • Phóng to/thu nhỏ
  • Nhấn để lấy nét
  • Nút chuyển đổi chế độ đèn flash
  • EV +/-
  • Nút chuyển bật/tắt tiện ích

Xác minh rằng các chức năng thu/phóng, nhấn để lấy nét, chế độ đèn flash và EV +/- hoạt động như mong đợi trong bản xem trước.

Xác minh kết quả hình ảnh đã chụp

Để chụp ảnh, hãy nhấn vào nút CAPTURE (CHỤP) (nút tròn) trong hoạt động chụp ảnh. Thao tác này sẽ khởi chạy một hoạt động xác thực hình ảnh hiển thị hình ảnh đã chụp.

photo_viewer-bokeh_enabled

Hình 6. Hình ảnh được chụp khi bật hiệu ứng bokeh

Hoạt động xác thực hình ảnh bao gồm các hàm sau:

  • Chụm vào/ra để điều chỉnh tỷ lệ hình ảnh
  • Trượt sang trái/phải để chuyển đổi hình ảnh đã chụp
  • Quay lại
  • Mục Lưu hình ảnh trong trình đơn

Xác minh xem hình ảnh đã chụp có chính xác và khớp với chế độ thu/phóng, nhấn để lấy nét, chế độ đèn flash và chế độ cài đặt EV +/- đã đặt khi chụp hình hay không.

Nếu kết quả đã chụp là chính xác, hãy nhấn vào nút PASS (ĐẠT) (dấu kiểm) ở góc dưới bên phải. Nếu không, hãy nhấn vào nút KHÔNG ĐẠT (dấu chấm than) ở góc dưới cùng bên trái.

Xem kết quả kiểm thử

Sau khi một chế độ tiện ích được xác minh là đạt hoặc không đạt, mục danh sách cho chế độ tiện ích sẽ hiển thị màu nền và chỉ báo khác. Trong chế độ xem danh sách của tất cả các máy ảnh, các mục sẽ hiển thị theo các màu sau:

  • Nền trắng: Máy ảnh hỗ trợ ít nhất một chế độ tiện ích và các chế độ tiện ích được hỗ trợ chưa được xác thực đầy đủ.
  • Nền xanh: Máy ảnh hỗ trợ ít nhất một chế độ tiện ích. Tất cả các chế độ tiện ích được hỗ trợ đều được xác thực với tất cả kết quả đạt.
  • Nền đỏ: Máy ảnh hỗ trợ ít nhất một chế độ tiện ích. Tất cả các chế độ tiện ích được hỗ trợ đều được xác thực với ít nhất một kết quả chế độ tiện ích không thành công.
  • Nền xám: Tính năng này không có sẵn.

camera_validation_result extension_mode_validation_result

Hình 7. Màu sắc cho biết kết quả kiểm thử cho máy ảnh và chế độ tiện ích

Các hàm công cụ xác thực khác

Sau khi tất cả các bài kiểm thử hoàn tất, hoạt động danh sách máy ảnh sẽ cung cấp các chức năng sau:

  • Xuất kết quả kiểm thử: Xuất kết quả kiểm thử dưới dạng tệp CSV vào thư mục Documents/ExtensionsValidation.
  • Đặt lại: Xoá tất cả kết quả kiểm thử được lưu vào bộ nhớ đệm.
  • Ứng dụng mẫu tiện ích: Chuyển sang chế độ ứng dụng mẫu tiện ích.

Sau khi hoàn tất quá trình kiểm thử, bạn có thể xuất kết quả kiểm thử. Nếu bạn phát hiện một vấn đề và cần xác minh lại phiên bản mới của việc triển khai thư viện nhà cung cấp có các giải pháp, hãy đặt lại kết quả kiểm thử trước đó và chạy lại tất cả chế độ tiện ích được hỗ trợ trên tất cả máy ảnh để xác minh rằng các vấn đề đã được khắc phục.