Kiểm thử ITS Camera trên thiết bị có thể gập lại

Từ Android 13 trở đi, Camera ITS bao gồm tính năng hỗ trợ kiểm thử cho 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. Vì điều này, Camera ITS sẽ linh động xác định các kiểu kết hợp cảnh và camera cần sử dụng để thử nghiệm. 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 tra camera trước và sau

Các cảm biến của máy ảnh có trên thiết bị có thể gập lại sẽ khác nhau tuỳ thuộc vào xem thiết bị ở trạng thái gập hay mở. Đối với thiết bị có thể gập lại, giao diện người dùng Khả năng sử dụng camera 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 tra máy ảnh một lần ở trạng thái gập và một lần khi ở trạng thái gập trạng thái mở.
Camera thực trước Chỉ kiểm tra máy ảnh ở những trạng thái máy ảnh sẵn có.

Quy trình kiểm thử

Phần này mô tả các bước kiểm tra 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 Thiết lập.

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

Để Camera ITS xác định được 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 kiểm thử. Nếu không được cấp quyền truy cập, thì việc chạy bài kiểm tra 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 đây. 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 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 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 một thiết bị có thể gập lại, camera chính ở mặt trước sẽ được kiểm tra ở cả hai trạng thái, gập vào và mở ra. Nếu thiết bị đang gập, kết quả sẽ hiển thị trong camera1_SCENE_NAME_folded trong ứng dụng CTS Verifier. Tuỳ thuộc vào trạng thái của thiết bị, một số hình ảnh mã máy ảnh thực 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 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 được 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ị được gập lại và người dùng đang thử nghiệm camera 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ể.