相机盒装 ITS

Android 相机图像测试套件 (ITS) 是 Android 兼容性测试套件 (CTS) 验证程序的一部分,并且包含可验证图像内容的测试。从 CTS 7.0_r8 开始,CTS 验证程序通过相机盒装 ITS 支持 ITS 测试自动化;而且继续支持手动测试以确保涵盖所有类型的 Android 设备。

盒装 ITS 具有以下优势:

  • 自动化。在测试期间不需要人为干预。
  • 缩短测试时间。可以对前置/后置摄像头进行并行测试,将测试周期缩短了 50%。
  • 问题排查更轻松。测试环境保持一致,减少了设置错误并提升了重现能力。
  • 高效。能够针对单个相机/场景进行重试,提高了测试执行效率。

开始设置

盒装 ITS 由一个根据计算机辅助设计 (CAD) 图纸激光切割而成的塑料盒、一部图表平板电脑和一部被测设备 (DUT) 组成。开始使用相机盒装 ITS:

  1. 下载技术图纸
  2. 组装盒子
  3. 使用 CameraITS 软件配置平板电脑
  4. 运行测试
  5. 从 DUT 中获取结果

配置平板电脑

本部分将分步说明如何设置 Pixel C 平板电脑以与 CameraITS 软件配合使用。

注意:CameraITS python 脚本会自动在平板电脑上为您设置以下选项:
设置 > 显示 > 休眠 > 无操作 30 分钟后
自动调节亮度 > 关闭

  1. 为平板电脑接通电源并开机。如果系统提示您设置帐号,请跳过(CameraITS 不需要与平板电脑配对任何帐号)。
  2. 将平板电脑更新为 Android 7.0 或更高版本(Android 6.x 及更早版本不支持 CameraITS)。
  3. 依次转到“设置”>“关于平板电脑”,然后点按版本号 5 次,从而启用开发者模式。
  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 需要平板电脑来显示图像,因此平板电脑会提示您“允许云端硬盘访问您设备上的照片、媒体和文件吗?”。通过按允许清除此提示(并防止以后再次出现提示)。
    3. 再次运行该命令。平板电脑会提示您“保留此文件的副本吗?”,并建议保存到 Google 云端硬盘。通过按“云端硬盘”图标,然后按取消上传到云端硬盘,清除此提示(并防止以后再次出现提示)。
    4. 最后,运行 tools/run_all_tests.py 并确认当前场景会随着脚本循环自动变换为不同的场景。尽管大多数测试将失败(因为相机未指向图表),但您可以验证平板电脑是否正确地循环播放场景,而不会在屏幕上显示任何提示或其他弹出式窗口。

运行测试

在运行盒装 ITS 之前,请确保您的测试设置包含以下硬件和软件:

  • 一 (1) 个盒装 ITS
  • 一 (1) 部用于显示场景的 Pixel C,序列号:5811000011
  • 两 (2) 个 DUT,它们使用相同的版本号指纹并安装了 CTS 验证程序 7.0_8+ 应用。DUT 示例:
    • 一 (1) 部用于后置摄像头 (0) 测试的 Pixel NOF26W,序列号:FA6BM0305016。要安装 CTS 验证程序应用,请解压缩 android-cts-verifier.zip,然后运行
      adb -s FA6BM0305016 install -r android-cts-verifier/CtsVerifier.apk
      
    • 一 (1) 部用于前置摄像头 (1) 测试的 Pixel NOF26W,序列号:FA6BM0305439。要安装 CTS 验证程序应用,请解压缩 android-cts-verifier.zip,然后运行
      adb -s FA6BM0305439 install -r android-cts-verifier/CtsVerifier.apk
      

运行场景 0-4

对前置和后置摄像头并行运行场景 0-4:

cd android-cts-verifier/CameraITS
. build/envsetup.sh
python tools/run_parallel_tests.py device0=FA6BM0305016 device1=FA6BM0305439 chart=5811000011

示例:

图 1. 相机 0 序列号:FA6BM0305016

图 2. 相机 1 序列号:FA6BM0305439

重试场景

您可以为前置和后置摄像头或单个摄像头重试场景:

  • 对前置和后置摄像头并行重试场景:
    python tools/run_parallel_tests.py device0=FA6BM0305016 device1=FA6BM0305439 chart=5811000011 scenes=3,4
    
  • 对单个摄像头重试场景:
    python tools/run_all_tests.py device=FA6BM0305016 chart=5811000011 camera=1 scenes=3,4
    

运行场景 5

场景 5 需要进行特殊设置并具有特定光线(有关详情,请参阅 CTS 验证程序下载内容中的 CameraITS.pdf 文档)。您可以单独运行场景 5(在盒子外部)以并行测试两部设备。

  • 在两部设备上为前置和后置摄像头并行运行场景 5:
    python tools/run_parallel_tests.py device0=FA6BM0305016 device1=FA6BM0305439 chart=5811000011 scenes=5
    


    图 3. 相机场景 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
    

获取结果

您可以在测试期间查看结果,并将完成的结果另存为报告。

  • 查看运行测试的进度。命令 run_parallel_tests 仅在相机场景测试完成后输出结果,因此要在执行测试期间查看结果,您必须使用 Android 设备监控器或 adb logcat 来验证进度和/或查看屏幕截图。

    adb 命令示例:
    adb -s FA6BM0305016 logcat -v time
    
    屏幕截图命令示例:
    adb -s FA6BM0305016 shell screencap -p /sdcard/screencap.png
    adb -s FA6BM0305016 pull /sdcard/screencap.png
    display ./screencap.png
    
  • 查看结果。将相机 ITS 结果另存为报告:
    1. 通过并保存报告:

      图 4. 相机 ITS 报告。
    2. 从设备中提取报告:
      adb -s FA6BM0305016 pull /sdcard/verifierReports
      
    3. 解压缩报告文件并查看 test_result.xml。

      图 5. 相机 ITS 报告。