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 sẽ có sẵn hoặc không sử dụng được máy ảnh, tuỳ thuộc vào việc thiết bị ở trạng thái gập hay mở.

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

Kiểm tra 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 tra 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 cấp quyền truy cập, việc chạy các bài kiểm thử ITS của camera sẽ dẫn đến sự cố ứng dụng.

Để 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 Trình xác minh CTS được cài đặt lại 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ị này là thiết bị có thể gập lại, hãy thêm tham số foldable_device vào cả hai bài kiểm thử 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 một 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 bài 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 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ế phía trước sẽ không có sẵn 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 các cảnh gập được thực thi với thiết bị được 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ử.

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ả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 gập lại.
python tests/scene0/ -c config.yml Chạy một bài kiểm thử cụ thể.