相機 ITS 功能

Android 相機映像檔測試套件 (ITS) 是 Android 相容性測試的一部分 套件 (CTS) 驗證器,內含可驗證圖片內容的測試。CTS 驗證器 支援 ITS 測試自動化,並內建 Camera ITS。 手動測試支援涵蓋所有 Android 裝置 板型規格

內建 ITS 服務具備下列優點:

  • 自動化:過程中不需要人為作業介入 測試。
  • 輕鬆排解問題測試環境的一致性 可以減少設定錯誤,提高重現能力。
  • 效率。針對個別攝影機/場景重試 可提高測試執行效率。

開始使用

ITS 型塑膠箱含有從電腦輔助下切割的塑膠箱 設計 (CAD) 繪圖、圖表平板電腦以及測試中裝置 (DUT)。下表 將說明可使用的各種 ITS 便捷功能與功能與規格。

支架用 圖表距離 DUT 相機的 FoV 範圍 (約略值) 功能
模組化基本 rig 22 公分 16° - 120°
  • 減少佔用空間
  • 前置鏡頭有大型光圈凹口,啟用多機系統測試 (無凹口) 阻斷次要攝影機。
  • 腳架可以旋轉 90°
  • 模組化底座和電話擴充 rig 22 公分 - 100 公分* 10° - 120°
  • 前方有大型光圈凹口
  • 支援測試最小對焦距離較長 (多數望遠鏡頭) 的攝影機
  • WFoV ITS 手冊 22 公分 16° - 120°
  • 佔用多個 DUT 掛接位置的大型占用空間
  • 支援大型 DUT,例如平板電腦
  • 立即可用的 RFoV ITS 31 公分 16° - 90°
  • 圖表平板電腦
  • 內建照明系統
  • *你可以根據不同圖表距離調整電話延伸標準長度。
    設計 (CAD) 繪圖、圖表平板電腦以及測試中裝置 (DUT)。下表 將說明可使用的各種 ITS 便捷功能與功能與規格。

    支架用 圖表距離 DUT 相機的 FoV 範圍 (約略值) 功能
    模組化基本 rig 22 公分 16° - 120°
  • 減少佔用空間
  • 前置鏡頭有大型光圈凹口,啟用多機系統測試 (無凹口) 阻斷次要攝影機。
  • 腳架可以旋轉 90°
  • 模組化底座和電話擴充 rig 22 公分 - 100 公分* 10° - 120°
  • 前方有大型光圈凹口
  • 支援測試最小對焦距離較長 (多數望遠鏡頭) 的攝影機
  • WFoV ITS 手冊 22 公分 16° - 120°
  • 佔用多個 DUT 掛接位置的大型占用空間
  • 支援大型 DUT,例如平板電腦
  • 立即可用的 RFoV ITS 31 公分 16° - 90°
  • 圖表平板電腦
  • 內建照明系統
  • *你可以根據不同圖表距離調整電話延伸標準長度。

    如何依需求開始使用相機:

    1. 購買或建立模組WFoV 或 href="/docs/compatibility/cts/camera-modular-rig-system">模組化 WFoV,或 打開RFoV ITS。
    2. 使用相機 ITS 設定平板電腦 軟體
    3. 執行測試
    4. 從 DUT 取得結果

    設定平板電腦

    本節提供 配合多種裝置 相機 ITS 測試,位於 CameraITS 目錄。以下操作說明是以 Pixel C 為例 平板電腦範例平板電腦相關資訊 需求和建議,請參閱平板電腦版 需求

    注意:相機 ITS Python 指令碼 在平板電腦上自動設定以下選項:
    設定 >顯示 >睡眠 >閒置 30 分鐘後
    自動調整亮度 >關閉

    1. 為平板電腦充電並開機。如果系統提示您建立帳戶,請略過這個步驟 (相機 ITS 不需要任何與平板電腦配對的帳戶)。
    2. 將平板電腦更新至 Android 7.0 以上版本。Android 6.x 以下版本 不支援相機 ITS。
    3. 啟用開發人員模式
    4. 返回「設定」,然後選取「開發人員選項」
      啟用選項
      • 開啟
      • 螢幕不休眠
      • USB 偵錯功能,可讓主機以偵錯模式執行平板電腦。當您 首次將平板電腦連線至主機時,平板電腦會提示 允許 USB 偵錯嗎?如果平板電腦未顯示偵錯提示 並拔除平板電腦再重新連線)。
      停用選項
      • 自動系統更新
      • 透過 USB 驗證應用程式
    5. 執行 $ adb devices 以列出 DUT 和圖表 ID 可用的裝置。如何判斷device_idchart_id、插上及拔除裝置電源,然後觀察 。
    6. 執行三次測試,隱藏可能會遮蓋的提示和使用者提示 。
      1. 將平板電腦正面朝上放在桌上 (請勿將平板電腦裝在背面 方塊)。
      2. 執行下列指令:
        python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
        
        場景 2 和 3 需要平板電腦顯示圖片,因此平板電腦會顯示提示 要允許雲端硬碟存取裝置上的相片、媒體和檔案嗎?。晴朗 並按下「Allow」,避免系統日後顯示提示。
      3. 再次執行指令。平板電腦會提示「要保留這個檔案的副本嗎?」提示。 以及推薦 Google 雲端硬碟清除這則提示 (並避免日後出現提示) 依序按下「雲端硬碟」圖示,再按「取消」,即可上傳至雲端硬碟。
      4. 最後,執行 tools/run_all_tests.py 並確認場景 就能自動變更腳本。雖然大部分 測試失敗 (因為相機未指向圖表),您可以確認 平板電腦可正確循環切換場景,但不會顯示任何提示或 螢幕上的其他彈出式視窗

    執行測試

    執行 ITS 專用程序之前,請確認您的測試設定包含 下列軟硬體:

    • 一 (1) 開箱 ITS
    • 一 (1) 高解析度 10 吋用於展示場景的平板電腦,S/N:5811000011
    • 一 (1) 具有 CTS 驗證器的 DUT 已安裝 7.0_8 以上版本的應用程式。DUT 範例:
      • 一 (1) Pixel NOF26W 用於後置鏡頭(0) 測試;S/N:FA6BM0305016。目的地: 安裝 CTS Verifier 應用程式,解壓縮 android-cts-verifier.zip,然後 執行
        adb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
        

    執行平板電腦場景

    如要在後置鏡頭上執行場景 0 到 4、6 以及 scene_change 的場景,請按照以下步驟操作:

    cd android-cts-verifier/CameraITS
    . build/envsetup.sh
    python tools/run_all_tests.py camera=0
    

    例子:

    相機 0 S/N:FA6BM0305016
    圖 1. 相機 0 S/N:FA6BM0305016

    重試場景

    你可以重試單一攝影機的場景:

    • 如何在單一攝影機上重試場景:
      python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
      

    執行場景 5

    場景 5 需要特定光線的特殊設定 (詳情請參閱 CTS Verifier 中的 CameraITS.pdf,請前往以下網址下載: 請參閱 Compatibility Test Suite 下載)。 場景 5 必須分開執行 (不在包裝盒內)。

    相機場景 5
    圖 2. 相機場景 5

    如要在單一裝置上執行前置與後置鏡頭的畫面 5,請按照下列步驟操作:

    python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=5
    python tools/run_all_tests.py device=FA6BM0305016 camera=1 scenes=5
    

    取得結果

    您可以在測試期間查看結果,並將已完成的結果儲存為 報表。

    • 查看結果。如要將相機 ITS 結果儲存為報表,請按照下列步驟操作:
      1. 按下「通過」並儲存報表。
        相機 ITS 報告
        圖 3.相機 ITS 報告
      2. 從裝置提取報告:
        adb -s FA6BM0305016 pull /sdcard/verifierReports
        
      3. 解壓縮報表檔案,然後查看「test_result.xml」。
        相機 ITS 報告
        圖 4.相機 ITS 報告

    平板電腦需求

    在 Android 15 以上版本中,平板電腦會當做 ITS 圖表顯示 必須列在下列平板電腦許可清單中。查看支援測試 低光源環境,請參閱 支援低光源環境的平板電腦。適用對象 Android 14 以下版本,請參閱 Android 14 以下版本的平板電腦需求

    系統會根據下列條件選擇許可清單中的平板電腦:

    • 顯示大小約為 10 吋,螢幕解析度大於 1920 x 1200 像素。
    • 必須對控制寬度調節 (PWM) 的螢幕造成任何測量到閃爍情形 調暗。
    • 可以擷取 ITS 測試傳送的 ADB 指令,以及顯示含有 指示螢幕亮度。

    必須根據平板電腦,在 config.yml 中設定 brightness 值 模型如要判斷平板電腦型號是否與裝置上的「裝置名稱」對應, 許可清單,則會執行ro.product.device adb shell getprop | grep 'ro.product.device' ADB 指令。

    裝置 顯示大小
    (英寸)
    顯示大小
    (像素)
    平板電腦尺寸
    (英寸)
    螢幕
    亮度
    裝置名稱
    (ro.product
    .device)
    平板電腦 OS
    版本
    Google
    Pixel C
    10.2 2560 x 1800 9.53 x 7.05 x 0.28 96 Android 6 以上版本
    榮耀
    學名:Pad 8
    11 2000 x 1200 10.18 x 6.76 x 0.29 192 HNHEY-Q Android 12
    Lenovo
    Tab M10 Plus
    10.3 1920 x 1200 9.61 x 6.03 x 0.32 192 X606F Android 9 以上版本
    Lenovo
    Tab P11
    11 2000 x 1200 10.17 x 6.42 x 0.30 192 J606F Android 11 以上版本
    Lenovo
    Tab P11 第 2 代
    11.5 分 2000 x 1200 10.59 x 6.67 x 0.29 192 TB350FU Android 13 以上版本
    Nokia
    T21
    10.4 分 2000 x 1200 9.74 x 6.19 x 0.30 192 AGTA Android 12 以上版本
    Samsung
    Galaxy Tab A7
    10.4 分 2000 x 1200 9.75 x 6.2 x 0.28 192 gta4lwifi Android 10 以上版本
    Samsung
    Galaxy Tab A8
    10.5 分 1920 x 1200 9.72 x 6.73 x 0.27 192 gta8wifi Android 11 以上版本
    Samsung
    Galaxy Tab A9+
    11 1920 x 1200 10.12 x 6.64 x 0.27 192 gta9pwifi Android 13 以上版本
    Vivo
    Pad2
    12.1 2800 x 1968 10.47 x 7.54 x 0.26 192 DPD2221 Android 13 以上版本
    小米
    Pad 5
    11 2560 x 1600 10.18 x 6.76 x 0.29 192 納布 Android 13 以上版本
    小米
    紅米
    巴德
    10.61 美元 2000 x 1200 9.86 x 6.22 x 0.28 192 尤魯 Android 14 以上版本
    小米
    紅米
    Pad SE
    11 2560 x 1600 10.06 x 6.58 x 0.29 192 Xun Android 13 以上版本

    支援低光源環境的平板電腦

    下表列出支援測試 低光源場景。 這些平板電腦可達到低光源環境所需的亮度,讓 DUT 能夠 正確公開圖表
    裝置 裝置名稱 (ro.product.device) 平板電腦作業系統版本
    Samsung Galaxy Tab A8 gta8wifi Android 11 以上版本
    Samsung Galaxy Tab A9+ gta9pwifi Android 13 以上版本

    Android 14 以下版本的平板電腦需求

    平板電腦的螢幕解析度必須為 10 英寸,且具有螢幕解析度 大於 1920 x 1200 像素平板電腦不得使用脈搏寬度調節 (PWM) 進行設定 調整亮度您必須在以下位置設定 brightness 值: config.yml (根據平板電腦型號)。 下表列出與 Android 版本進行 ITS 測試時建議使用的平板電腦 每個 Pod 都有專屬的 DUT 版本

    裝置 顯示大小
    (英寸)
    顯示大小
    (像素)
    平板電腦尺寸
    (英寸)
    螢幕
    亮度
    顯示
    位元
    支援
    DUT OS
    支援的
    平板電腦 OS
    Samsung
    Galaxy Tab A8
    10.5 分 1920 x 1200 9.72 x 6.37 x 0.27 192 8 Android 13 以上版本 Android 11 以上版本
    小米
    Pad 5
    11 2560 x 1600 10.03 x 6.55 x 0.27 1024 11 Android 12 以上版本 僅限 Android 11
    Lenovo
    Tab M10 Plus
    10.3 1920 x 1200 9.61 x 6.03 x 0.32 192 8 Android 12 以上版本 Android 9 以上版本
    Samsung
    Galaxy Tab A7
    10.4 分 2000 x 1200 9.75 x 6.2 x 0.28 192 8 Android 12 以上版本 Android 10 以上版本
    楚威
    你好 9 航空 10.1
    10.1 2560 x 1600 9.52 x 6.77 x 0.31 192 8 Android 7 以上版本 Android 8 以上版本
    華碩
    ZenPad 3
    9.7 2048 x 1536 9.47 x 6.44 x 0.28 192 8 Android 7 以上版本 Android 6 以上版本
    華為
    MediaPad m5
    10.8 2560 x 1600 10.18 x 6.76 x 0.29 192 8 Android 7 以上版本 Android 8 以上版本
    Google
    Pixel C
    10.2 2560 x 1800 9.53 x 7.05 x 0.28 96 8 Android 7 以上版本 Android 6 以上版本
    Sony
    Xperia Z4
    10.1 2560 x 1600 10 x 6.57 x 0.24 192 8 Android 7 以上版本 Android 5 以上版本

    常見問題

    問題 1:如何判斷裝置需要哪種測試裝置?

    RFoV ITS 立即支援的修訂版本 1:測試 RFoV 攝影機在平板電腦場景中的 CameraITS/tests 目錄內。RFoV 的定義如下 60° <FoV <90°。 如果是大型 FoV 相機,光線或圖表中可能會出現光源 可能的涵蓋範圍太小,因而影響測試結果

    WFoV ITS 增益集 修訂版本 2 測試 WFoV 相機,在 CameraITS/tests 目錄內。WFoV 的定義 FoV >= 90°。 修訂版本 2 的測試核心與修訂版本 1 相同,但更大。修訂版本 2 測試 rig 在 Android 9 以上版本中,可同時測試 RFoV 和 WFoV 相機。由於佔用空間較大,修訂版本 2 如果 DUT 是平板電腦

    模組式基本元件 透過 Google Home 應用程式 CameraITS/tests 目錄內。WFoV 的定義 FoV >= 90°。 針對搭載 Android 9 以上版本的裝置,模組底板可同時測試 RFoV 和 WFoV 相機。 也支援更長的電話延長設備,此元件可附加至測試望遠鏡頭的測試電話相機上 最短對焦距離。模組式底層在功能上與 WFoV ITS 形設計元件相同 但較小

    感應器融合框 可測試相機/陀螺儀時機 偏移和多機系統影格與測試 scenes=sensor_fusion。相機/陀螺儀時間偏移較少 REALTIME 功能旗標需要 1 毫秒以上的時間。

    可以透過單一設備測試多機裝置,以便進行靜態 ITS 測試 以及感應器融合耳機 (如果相機具有 REALTIME 功能) 旗標。

    下表提供一組設定範例。

    範例 相機鏡頭 即時? 建議的 rig 附註
    1 24° 修訂版本 1 或 2 Android 7.0 以上版本
    2 24° 模組底座或 Rev 1、2 和感應器融合 Android 9 以上版本
    3 22° + 95° Rev 2 + 感應器融合 Android 9 以上版本
    4 21° + 95° + 20° 模組底座、電話擴充功能和感應器融合 Android 9 以上版本
    5 75° + 95° 平板電腦 修訂版本 2 Android 9 以上版本

    問題 2:如何指定使用中的測試硬體?

    如要指定正確的測試強度,請確認圖表距離參數正確無誤。 rev1 測試 rig (RFoV) 有圖表 距離為 31 公分與 Rev2 rig (WFoV) 的距離,在圖表中的距離為 22 公分。根據預設, 圖表距離設為 31 公分。

    Android 10 至 Android 11

    如何在 Android 10 到 11 在指令列中新增 dist 旗標。預設 dist 的值是 31。執行下列指令 變更 chart_distance 參數。
    python tools/run_all_tests.py ... chart=# dist=22
    

    Android 12 以上版本

    如要在 Android 12 以上版本中找出正確的測試硬體,您可以編輯 config.yml 檔案,即可變更 chart_distance 參數。
    edit config.yml
    chart_distance: 31.0 → chart_distance: 22.0
    

    問題 3:如何控制平板電腦的亮度?

    平板電腦的亮度預設為 96,

    如要在搭載 Android 7.0 至 Android 9 的平板電腦上調整亮度, 執行:

    edit tools/wake_up_screen.py
    DISPLAY_LEVEL=96 → DISPLAY_LEVEL=192
    

    如何調整搭載 Android 10 至 Android 版本的平板電腦亮度 11、 加入 brightness 標記,就能在指令列中變更這些值:

    python tools/run_all_tests.py device=# camera=# chart=# brightness=192
    

    如要在搭載 Android 12 以上版本的平板電腦上調整亮度, 執行:

    edit config.yml
    brightness: 96 → brightness: 192
    

    問題 4:如何對單一測試進行偵錯?

    測試可以個別執行以偵錯,但結果不會 除非整個場景執行完畢,否則會回報給 CtsVerifier.apk

    如要在 Android 11 以下版本中執行個別場景:

    1. 新增 scenes 旗標以載入場景 tools/run_all_tests.py
      python tools/run_all_tests.py device=# camera=# chart=# scenes=#
      
    2. 按下 Control+C 鍵即可在場景結束後停止測試 記錄為 已載入 stdout

      如果正確的場景已 喚醒螢幕:

      python tools/wake_up_screen.py screen=#
      
    3. 執行個別測試。

      python tests/scene#/test_*.py device=# camera=#

      系統會在本機目錄中產生圖表 stdoutstderr 已列印到螢幕上。

      如要進一步瞭解偵錯作業,請新增 print 陳述式。如要增加偵錯用的測試輸出內容,請新增 debug=True 旗標。

      python tests/scene#/test_*.py device=# camera=# debug=True

    結果會輸出至本機螢幕,並將圖片儲存至本機目錄中 而非產生的 /tmp/tmp### 目錄 跑步 tools/run_all_tests.py

    如要在 Android 12 以上版本中執行個別場景:

    1. 編輯 config.yml 檔案。

      edit config.yml
      camera: <camera-id> → camera:  0
      scene: <scene-name> → scene: scene1_1
    2. 執行個別測試。

      python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
      

    結果會顯示在 /tmp/logs/mobly/TEST_BED_TABLET_SCENES/ 目錄中,並已排序 依照執行時間

    問題 5:為什麼需要對整個情境執行失敗的測試 才能個別重新執行測試呢?

    可以個別執行測試以便偵錯,但結果無法 除非整個場景執行完畢,否則會回報給 CtsVerifier.apk

    相機 ITS 可確保第三方應用程式具有相容的相機介面。 與單元測試類似,每項測試都強調在 相機上為找出不可靠的行為,這些測試預期會 然後以群組的形式呈現整個場景舉例來說 測試可能會略過整個場景 以及可靠的測試

    舉例來說,假設場景中有 10 次試驗 各有 50% 的機率會傳回 PASS在每個 Pod 中 若是單獨測試 值勤人員仍有可能用到攝影機 或讓相機 ITS不過,如果測試是以場景的形式匯總執行 這個場景只有 0.1% 的機率會通過

    問題 6:如何執行單一場景或重新排序執行場景?

    根據預設,tools/run_all_tests.py 指令碼會執行所有場景 順序。不過,場景可以單獨或依特定順序執行 回報給 CtsVerifier.apk

    執行個別場景 (例如場景 2),或是在特定場景中執行多個場景 Android 11 的順序或 低於:

    python tools/run_all_tests.py device=# camera=# chart=# scenes=2
    
    python tools/run_all_tests.py device=# camera=# chart=# scenes=3,2
    

    執行個別場景,或在特定場景中執行多個場景 Android 12 以上版本的順序:

    python tools/run_all_tests.py scenes=2
    
    python tools/run_all_tests.py scenes=3,2
    

    其他參數會在 config.yml 檔案中設定。

    問題 7:一些場景 1 測試在平板電腦設定程序失敗,但通過 以紙張圖呈現哪裡出了問題?

    確認平板電腦和測試環境符合下列條件 規格。

    平板電腦規格

    請確定平板電腦符合下列規格:

    • 顯示大小 (英寸):10 英寸
    • 顯示大小 (像素):大於 1920 x 1200 像素

    詳情請參閱 平板電腦規格:

    平板電腦亮度

    如果平板電腦螢幕亮度太高,測試可能無法獲得正確的結果 低音。

    詳情請參閱 如何控制平板電腦的亮度?

    箱燈亮度 (需使用 Luxe 測光儀)

    請確認平板電腦開盤時的目標 lux 值介於 100 至 100 之間 300。

    如果 lux 等級過高,scene1/test_param_flash_mode.py 會傳回 FAIL。如果 lux 等級過低,則多次測試會失敗。

    問題 8:如何對感應器融合測試進行偵錯?

    1. 確認你已加入 dialout 群組。

      groups | egrep ‘dialout'
    2. 判斷是否連接感應器融合控制器 Microchip 技術已連接到 USB 連接埠。

      lsusb
      …
      Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc.
      …
      
    3. 多次執行測試,取得以 400 為基礎的系統分配測試 以下指令。

      Android 11 以下版本:

      python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
      

      Android 12 以上版本:

      python tools/run_sensor_fusion_box.py num_runs=10
      

      其他參數會在 config.yml 檔案中設定。

      執行作業輸出內容會在以下位置建立的 /tmp/tmp### 資料夾中: sensor_fusion_# 資料夾,其中 # 是執行中的 號碼。失敗的常見原因包括:

      1. 手機未正確置中。
      2. 圖片中的特徵不足 (通常是 FoV 或光線問題)。
      3. 傳回的 FAIL 有效,且 而且相機和陀螺儀必須修正。

    問題 9:回報 測試錯誤?

    回報測試錯誤時,請附上產生的檔案和圖片 進行測試。

    1. 如果您是透過 tools/run_all_tests.py 執行測試,請附加 將 /tmp/ 目錄壓縮到錯誤中。
    2. 如果您是單獨執行測試,請附加所有螢幕輸出內容並 產生的圖像

    請一併附上錯誤報告。在有問題的測試失敗後,使用 以下指令產生錯誤報告,並將產生的 ZIP 檔案附加到 錯誤。

    adb -s device_id bugreport
    

    問題 10:如何在鏡頭已聚焦的相機的情況下,執行 sensor_fusion 測試場景 造成圖像距離在 25 公分的距離造成模糊的情況嗎?

    如果攝影機的對焦距離無法超過 25 公分,請移除 感應器。將圖表放在 DUT 可以聚焦和改變的距離上 config.ymlchart_distance 至 DUT 和 DUT 之間的測量距離 圖表。圖 5 舉例說明如何在這種情況下測量圖表距離。

    sensor_fusion TELE 測試範例 6
    圖 5. 測量感應器融合測試場景的圖表距離
      edit config.yml
    chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
    

    問題 11:如何針對有最小焦距的相機執行平板電腦測試場景 造成圖像距離在 31 公分的距離時有一張模糊嗎?

    如果相機無法生成充足的圖像測試 31 公分 ( RFoV 測試元件的深度),請將攝影機安裝在機架前方,以便進行 用於填滿相機視野 (FoV) 約 60% 的圖表場景, 拍出更清晰的影像這個距離可能會低於最小焦距 以及相機之間的距離config.ymlchart_distance出發: 31 公分。平板電腦上的圖表縮放比例取決於相機 FoV,如下表所示:

    相機視訊 圖表縮放比例係數
    60 >FoV >40 人 0.67 倍
    40 >FoV >25 人 0.5 倍
    FoV <25 人 0.33 倍

    問題 12: 使用邏輯多鏡頭 API 時,哪些相機會執行哪些測試?

    如果攝影機使用 REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA,所有支援的 ITS 測試 都是在頂層邏輯相機上執行部分 ITS 測試是在實體機台執行 和子相機,而這些測試會列在 tools/run_all_tests.pySUB_CAMERA_TESTS 常數下。