Kiểm thử thiết bị có thể gập lại ITS cho máy ảnh

Kể từ Android 13, Camera ITS sẽ 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ó máy ảnh có sẵn hoặc không có sẵn tuỳ thuộc vào trạng thái gập hoặc mở của thiết bị.

Mã nhận dạng máy ảnh thay đổi tuỳ theo loại thiết bị, kiểu máy và thương hiệu; đồng thời, tình trạng có sẵn máy ảnh trước thực tế thay đổi tuỳ theo trạng thái. Do đó, Camera ITS sẽ tự động xác định các tổ hợp cảnh và máy ảnh để sử dụng cho việc kiểm thử. Vì cần kiểm thử máy ảnh ở 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ử máy ảnh trước và sau

Các cảm biến máy ảnh 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, khả năng sử dụng máy ảnh mặt trước sẽ thay đổi tuỳ theo trạng thái. Ví dụ: máy ảnh trước không hoạt động ở trạng thái gập. Do sự thay đổi này về khả năng sử dụng máy ảnh trước, bạn phải kiểm thử máy ảnh trước ở cả trạng thái gập và mở. Camera ITS giả định rằng khả năng sử dụng máy ảnh sau vẫn giống nhau cho dù thiết bị đang gập hay mở, vì vậy, bạn chỉ cần kiểm thử máy ảnh 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ị máy ảnh không có sẵn và các thiết bị máy ảnh không xuất hiện trong danh sách các tổ hợp máy ảnh và cảnh.

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

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

Quy trình kiểm thử

Phần này mô tả các bước kiểm thử máy ảnh 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 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 API kiểm thử trước khi gọi các chương trình kiểm thử. Nếu không cấp quyền truy cập, việc chạy các bài kiểm thử ITS của Camera 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 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 Trình xác minh CTS 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 trong cả môi trường thử nghiệm tabletsensor_fusion trong tệp config.yml. ITS của máy ảnh 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 lại và mở ra.

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 chương trình kiểm thử ITS trên 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 kiểm thử.

Khi chạy Camera ITS trên 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ị đang gập lại, kết quả sẽ hiển thị trong tuỳ chọn camera1_SCENE_NAME_folded trong ứng dụng Trình xác minh CTS. Tuỳ thuộc vào trạng thái thiết bị, một số mã nhận dạng máy ảnh thực tế ở mặt trước sẽ không có và không được kiểm tra. Bạn chỉ cần kiểm thử máy ảnh sau ở một trạng thái, tốt nhất là trạng thái gập lại và kết quả cho máy ảnh sau không có hậu tố _folded.

Để đảm bảo rằng các cảnh gập được thực thi khi thiết bị gập lại 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 thi các bài 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 thi kiểm thử sau 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 cần gắn lại trong quá trình kiểm thử.

ITS của máy ảnh 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ử máy ảnh trước chính, 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 gập lại.
python tests/scene0/ -c config.yml Chạy một kiểm thử cụ thể.