Kiểm thử hình ảnh do camera chụp trên thiết bị có thể gập lại

Kể từ Android 13, Camera ITS có hỗ trợ kiểm thử cho các thiết bị có thể gập lại. Thiết bị có thể gập lại có camera hoạt động hoặc không hoạt động tuỳ thuộc vào việc thiết bị đang ở trạng thái gập hay mở.

Mã nhận dạng camera thay đổi tuỳ thuộc vào loại thiết bị, kiểu máy và thương hiệu; đồng thời, khả năng sử dụng camera trước thực tế thay đổi tuỳ thuộc vào trạng thái. Do đó, Camera ITS sẽ xác định linh hoạt các tổ hợp cảnh và camera cần dùng để kiểm thử. Vì cần kiểm thử camera ở cả trạng thái gập và mở, nên quy trình kiểm thử thiết bị có thể gập lại yêu cầu phải gắn lại DUT trong quá trình kiểm thử.

Kiểm thử camera trước và sau

Các cảm biến camera có trên thiết bị có thể gập lại sẽ khác nhau tuỳ thuộc vào việc thiết bị đang ở trạng thái gập hay mở. Đối với thiết bị có thể gập lại, phạm vi cung cấp camera trước sẽ thay đổi tuỳ theo trạng thái. Ví dụ: camera trước không hoạt động ở trạng thái gập. Do sự thay đổi này về tính khả dụng của camera trước, nên bạn phải kiểm thử camera trước ở cả trạng thái gập và mở ra. Camera ITS giả định rằng camera sau vẫn có sẵn dù thiết bị ở trạng thái gập hay mở, vì vậy, bạn chỉ cần kiểm thử camera sau một lần.

Tuỳ thuộc vào trạng thái của thiết bị, Camera ITS sẽ lọc ra các thiết bị camera không dùng được và các thiết bị camera sẽ không xuất hiện trong danh sách các tổ hợp camera và cảnh.

Bảng sau đây mô tả hành vi kiểm thử Camera ITS cho từng hướng camera.

Hướng máy ảnh Hành vi kiểm thử ITS của camera
Camera sau Kiểm thử camera một lần ở trạng thái gập hoặc mở
Camera trước chính Kiểm thử camera một lần ở trạng thái gập và một lần ở trạng thái mở ra.
Camera trước thực Chỉ kiểm tra camera ở những trạng thái có camera.

Quy trình kiểm thử

Phần này mô tả các bước kiểm thử camera cho thiết bị có thể gập lại.

Thiết lập thiết bị

Để biết thông tin thiết lập, hãy xem phần Thiết lập.

Cấp quyền truy cập vào API kiểm thử

Để Camera ITS xác định xem thiết bị có thể gập lại hay không, bạn phải cấp quyền truy cập vào API kiểm thử trước khi gọi các kiểm thử. Nếu không được cấp quyền truy cập, việc chạy các kiểm thử Camera ITS sẽ khiến ứng dụng gặp sự cố.

Để cấp quyền truy cập, hãy chạy lệnh ADB sau. Bạn chỉ cần chạy lệnh này một lần cho một thiết bị. Nếu cài đặt lại CTS Verifier bằng một phiên bản khác, bạn phải chạy lại lệnh.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier

Tệp cấu hình

Để chỉ định rằng thiết bị là thiết bị có thể gập lại, hãy thêm tham số foldable_device vào cả tabletsensor_fusion trong tệp config.yml. Camera ITS sử dụng tham số này để xác định các tổ hợp camera_id và cảnh cho trạng thái gập và mở.

Sau đây là ví dụ về tệp config.yml cho thiết bị có thể gập lại.

TestBeds:
  - Name: TABLET_SCENES
    # Test configuration for scenes[0:4, 6]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"     # "quotes" needed
      chart_loc_arg: ""
      camera: 0
      scene: scene2_a
  lighting_cntl: arduino    # can be "arduino" or "None"
  lighting_ch: 1
  foldable_device: "True"     # "False" for non-foldable DUTs

Chạy chương trình kiểm thử

Để chạy các kiểm thử ITS trên một thiết bị có thể gập lại, hãy chạy lệnh run_all_tests.py. Để biết thông tin chi tiết, hãy xem phần Gọi các kiểm thử.

Khi chạy Camera ITS trên một thiết bị có thể gập lại, camera trước chính sẽ được kiểm thử ở cả hai trạng thái, gập lại và mở ra. Nếu thiết bị ở trạng thái gập, kết quả sẽ xuất hiện trong mục camera1_SCENE_NAME_folded của ứng dụng CTS Verifier. Tuỳ thuộc vào trạng thái của thiết bị, một số mã nhận dạng camera thực phía trước sẽ không có sẵn và không được kiểm thử. Bạn chỉ cần kiểm thử camera sau ở một trạng thái, tốt nhất là trạng thái gập, và kết quả cho camera sau không có hậu tố _folded.

Để đảm bảo các cảnh được thu gọn sẽ thực thi khi thiết bị ở trạng thái gập và kiểm tra trạng thái của DUT có thể gập lại, hãy chạy lệnh sau.

adb shell cmd device_state state

Khi thực hiện các kiểm thử ở trạng thái gập, Camera ITS sẽ hiển thị một thông báo trong thiết bị đầu cuối để nhắc người dùng thiết lập thiết bị đúng cách trên hộp ITS. Để tiếp tục thực hiện kiểm thử sau khi nhận được lời nhắc, hãy nhấn phím Enter.

Nếu bạn đang chạy tất cả các cảnh ở cả trạng thái gập lại và mở ra, thì các cảnh gập lại sẽ được thực thi trước, sau đó là các cảnh mở ra. Điều này giúp giảm thiểu số lần gắn lại cần thiết trong quá trình kiểm thử.

Camera ITS cũng thêm hậu tố folded vào thư mục tmp được tạo cho các cảnh ở trạng thái gập.

Lệnh mẫu

Sau đây là các lệnh mẫu để thực thi kiểm thử trên thiết bị có thể gập lại.

Lệnh Mô tả
python tools/run_all_tests.py Chạy tất cả các cảnh.
python tools/run_all_tests.py scenes=scene0 Chạy scene0. Nếu thiết bị đang gập lại và người dùng đang kiểm thử camera trước chính, thì tập lệnh sẽ xác định trạng thái thiết bị và thêm hậu tố _folded vào tên cảnh. Người dùng không cần thêm hậu tố để chạy các cảnh được gấp lại.
python tests/scene0/ -c config.yml Chạy một kiểm thử cụ thể.