攝影機 ITS 摺疊式裝置測試

從 Android 13 開始,相機 ITS 也包含測試支援 折疊式裝置介面摺疊式裝置配備有相機、 取決於裝置處於折疊或展開狀態。

相機 ID 會因裝置類型、型號和品牌而異;實體前置鏡頭的可用性則會因狀態而異。因為 因此,相機 ITS 會動態決定要使用的場景和相機組合 。因為在摺疊前後都要測試攝影機 而折疊式裝置測試時,必須在測試期間重新掛接 DUT 上傳資料集之後,您可以運用 AutoML 自動完成部分資料準備工作

前置和後置鏡頭測試

折疊式裝置可用的相機感應器會因裝置處於折疊或展開狀態而異。對於折疊式裝置,前置鏡頭的可用性會因狀態而異。舉例來說,前置相機在折疊狀態下無法使用。由於前置鏡頭的使用情形有所變更,因此必須在折疊和展開的狀態下測試前置鏡頭。相機 ITS 會假設後置鏡頭的使用情形在裝置折疊或展開時都相同,因此只需測試一次後置鏡頭。

視裝置狀態而定,Camera ITS 會篩除無法使用的相機裝置,且相機裝置不會顯示在相機和場景組合清單中。

下表說明每個攝影機方向的攝影機 ITS 測試行為。

切換前後鏡頭 相機 ITS 測試行為
後置鏡頭 在折疊或展開狀態下測試相機一次
主要前置鏡頭 在折疊和展開狀態下各測試一次相機。
實體前置鏡頭 僅在相機可用的狀態下測試相機。

測試程序

本節說明測試摺疊式裝置相機的步驟。

設定裝置

如需設定資訊,請參閱 設定

授予測試 API 存取權

如要讓相機 ITS 判斷裝置是否可折疊,您必須先授予測試 API 存取權,才能叫用測試。如果未授予存取權,執行攝影機 ITS 測試會導致應用程式當機。

如要授予存取權,請執行下列 ADB 指令。您需要執行這項指令 只有單一裝置可正常運作如果 CTS 驗證器以不同的 您必須再次執行指令

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

設定檔

如要指定該裝置為摺疊式裝置,請新增 foldable_device config.ymltabletsensor_fusion 測試版中的參數 檔案。相機 ITS 會使用這個參數,判斷折疊和展開狀態的 camera_id 和場景組合。

以下是摺疊式裝置的 config.yml 檔案範例。

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

執行測試

如要在折疊式裝置上執行 ITS 測試,請執行 run_all_tests.py 指令。詳情請參閱「叫用測試」。

在摺疊式裝置上執行相機 ITS 時,主要前置鏡頭會進行測試 處於折疊和展開的狀態如果裝置處於摺疊狀態,結果會: 顯示在 camera1_SCENE_NAME_folded 下 提供的選項。視裝置狀態而定 而且無法使用實體攝影機 ID,系統不會測試這類 ID。 後置鏡頭只需要在一個狀態下進行測試,最好是折疊狀態,且後置鏡頭的結果沒有 _folded 後置字串。

確保在裝置處於折疊狀態時執行折疊式場景並檢查 請執行以下指令。

adb shell cmd device_state state

在摺疊狀態下執行測試時,相機 ITS 會在終端機中顯示訊息,提示使用者在 ITS 盒中正確設定裝置。如要在提示後繼續執行測試,請按下 Enter 鍵。

如果您在折疊和展開狀態下執行所有場景,系統會先執行折疊場景,接著執行展開場景。這樣一來,可減少測試期間需要重新掛載的次數。

Camera ITS 也會在為折疊狀態場景建立的 tmp 目錄中,新增 folded 後置字串。

指令範例

以下是在摺疊式裝置上執行測試的指令範例。

指令 說明
python tools/run_all_tests.py 執行所有場景。
python tools/run_all_tests.py scenes=scene0 執行 scene0。如果裝置處於折疊狀態,且使用者正在測試主要前置鏡頭,指令碼會判斷裝置狀態,並在場景名稱中加上後置 _folded。使用者不一定要新增 這個後置字串可用來執行摺疊場景。
python tests/scene0/ -c config.yml 執行特定測試。