在本地运行 CTS 媒体测试

我们在 CTS 中添加了以下可以让媒体测试模块运行的功能:

  1. 在被测设备 (DUT) SD 卡上加载相应内容。
  2. 将 CTS 媒体文件托管在本地服务器上。
  3. 将媒体文件托管在用来执行测试套件的宿主机上。

CTS 可以连接到合作伙伴服务器、本地服务器或第三方服务器。CTS 无法连接到 Google 服务器。

下载

下载文件如下所示。

适用于 Android 11

  • CTS 媒体 1.5
    • CtsMediaTestCases
    • CtsMediaStressTestCases
    • CtsMediaBitstreamsTestCases

适用于 Android 12 及更高版本

* 在 Android 13 及更高版本中,CtsMediaTestCases.apk 已拆分为多个较小的测试用例。

设置 CTS 媒体测试

  • 将 android-cts-media-1.5.zip 的下载内容解压缩到 android-cts-media-1.5 文件夹。
  • 将 CtsMediaTestCases.zip 媒体文件的下载内容解压缩到 CtsMediaTestCases 文件夹。

CtsMediaTestCases 模块支持 SD 卡方法和本地服务器托管方法。

SD 卡方法(仅适用于 CtsMediaTestCases)

将文件复制到设备的 SD 卡,然后使用以下命令运行模块。

$adb push CtsMediaTestCases /sdcard/

本地服务器方法(仅适用于 CtsMediaTestCases)

  1. (可选)在本地服务器上托管 DynamicConfig.json
  2. 准备满足以下条件的本地服务器:采用有效 CA 证书启用且未经身份验证的 https,例如 https://example.com。
  3. 将媒体文件托管在该服务器上并获取网址。
  4. 修改 DynamicConfig.json 并将其托管在同一位置。例如,https://example.com/a/b/DynamicConfig.json。

主机方法(适用于所有三个模块)

将 android-cts-media-1.5 文件夹移动到宿主机的 /tmp/ 文件夹中。

运行 CTS 媒体测试

SD 卡方法(仅适用于 CtsMediaTestCases)

单个模块运行

$run cts -m CtsMediaTestCases --dynamic-config-url
https://storage.googleapis.com/cts_media/DynamicConfig_local.json --shard-count 6

此操作会从 dl.google.com 中的 images 文件夹下载文件。如果要使用 android-cts-media-1.5.zip 中的本地 images 文件夹,请使用以下命令:

$run cts -m CtsMediaTestCases --module-arg
CtsMediaTestCases:config-url:https://storage.googleapis.com/cts_media/DynamicConfig_local.json --module-arg CtsMediaTestCases:local-media-path:/tmp/android-cts-media-1.5 --shard-count 6

完整的 CTS 运行(SD 卡上的 CtsMediaTestCases)

$run cts --module-arg CtsMediaTestCases:config-url:https://storage.googleapis.com/cts_media/DynamicConfig_local.json --module-arg CtsMediaTestCases:local-media-path:/tmp/android-cts-media-1.5 --shard-count 6

本地服务器方法

您可以将默认 JSON 配置路径替换为您的自定义本地服务器路径。

单个模块运行

$run cts -m CtsMediaTestCases --dynamic-config-url
https://storage.googleapis.com/cts_media/DynamicConfig.json

此操作会从 dl.google.com 中的 images 文件夹下载文件。如果要使用 android-cts-media-1.5.zip 中的本地 images 文件夹,请使用以下命令:

$run cts -m CtsMediaTestCases --module-arg CtsMediaTestCases:config-url:https://storage.googleapis.com/cts_media/DynamicConfig.json --module-arg
CtsMediaTestCases:local-media-path:/tmp/android-cts-media-1.5 --shard-count 6

完整的 CTS 运行(SD 卡上的 CtsMediaTestCases)

$run cts --module-arg CtsMediaTestCases:config-url:https://storage.googleapis.com/cts_media/DynamicConfig.json --module-arg CtsMediaTestCases:local-media-path:/tmp/android-cts-media-1.5 --shard-count 6

主机方法

您可以在宿主机上为所有三个模块运行 CTS 媒体测试。

单独或一起运行模块

运行以下命令即可单独运行模块。

$run cts -m CtsMediaTestCases
--module-arg CtsMediaTestCases:local-media-path:/tmp/android-cts-media-1.5 --shard-count 6

运行以下命令即可同时运行所有模块。

$run cts --include-filter CtsMediaTestCases --module-arg CtsMediaTestCases:local-media-path:/tmp/android-cts-media-1.5 --include-filter CtsMediaStressTestCases --module-arg
CtsMediaStressTestCases:local-media-path:/tmp/android-cts-media-1.5 --include-filter
CtsMediaBitstreamsTestCases --module-arg CtsMediaBitstreamsTestCases:local-media-path:/tmp/android-cts-media-1.5 --shard-count 6

完整的 CTS 运行(使用各个模块参数)

$run cts --module-arg CtsMediaTestCases:local-media-path:/tmp/android-cts-media-1.5 --module-arg CtsMediaStressTestCases:local-media-path:/tmp/android-cts-media-1.5 --module-arg CtsMediaBitstreamsTestCases:local-media-path:/tmp/android-cts-media-1.5 --shard-count 6