CTS 测试结果位于以下文件中:
CTS_ROOT/android-cts/results/start_time.zip
如果您是自己构建的 CTS,CTS_ROOT 将类似于 out/host/linux-x86/cts
,但会因平台而异。该路径取决于您解压缩从此网站下载的预构建官方 CTS 文件时所用的路径。
该 zip 压缩包中的 test_result.xml 文件包含了实际的结果。
显示 Android 10 及更高版本结果
ZIP 归档文件中包含 test_result.html 文件,您可直接在任何支持 HTML5 的网络浏览器中打开该文件
显示 Android 10 以下版本结果
在任何支持 HTML5 的网络浏览器中打开 test_result.xml 文件即可查看测试结果
如果使用 Chrome 浏览器打开时,此文件显示空白页,请更改浏览器配置,以启用 --allow-file-access-from-files
命令行 flag。
阅读测试结果
测试结果包含的详细信息取决于您所使用的 CTS 版本:
- CTS v1,适用于 Android 6.0 及更低版本
- CTS v2,适用于 Android 7.0 及更高版本
设备信息
在 CTS v1 及更低版本中,选择“Device Information”(“Test Summary”上方的链接)可查看关于设备、固件(品牌、型号、固件版本号、平台)和设备硬件(屏幕分辨率、键盘、屏幕类型)的详细信息。CTS v2 不显示设备信息。
测试摘要
“Test Summary”部分会提供已执行的测试计划的详细信息,例如 CTS 计划的名称以及执行的开始时间和结束时间。此外,这一部分还会提供有关通过、失败、超时或无法执行的测试数量的汇总摘要。
Android 10 CTS 测试摘要示例
图 1:Android 10 CTS 测试摘要示例
CTS v2 测试摘要示例
图 2:CTS v2 测试摘要示例
CTS v1 测试摘要示例
图 3:CTS v1 测试摘要示例
测试报告
下一部分为 CTS 测试报告,它会按文件包显示已通过的测试的摘要。
接下来是实际执行的测试的详细信息。该报告会列出测试包、测试套件、测试用例和已执行的测试。它会显示测试执行结果:通过、失败、超时或未执行。如果测试失败,该报告会提供详细信息以供诊断原因。
此外,为免报告太过冗长,失败测试的堆栈轨迹信息会包含在 XML 文件中,而不会包含在报告中。使用文本编辑器查看该 XML 文件,即可了解有关测试失败的详细信息(搜索与失败测试对应的 [Test] 标记,并在其中查找 [StackTrace] 标记)。
显示 CTS v2 测试报告示例
图 4:CTS v2 测试报告示例
显示 CTS v1 测试报告示例
图 5:CTS v1 测试报告示例
查看 test_result.xml 以了解未完成的测试模块
如需确定某个测试会话中的未完成模块数量,请运行命令“list results”。系统会列出之前每个会话的“已完成模块数量”和“模块总数量”。要确定哪些模块已完成,哪些模块未完成,请打开 test_result.xml 文件,并读取结果报告中每个模块的“done”属性的值。“done”值为“false”的模块,就是未完成的模块。
对测试失败情况进行分类
在对测试失败情况进行分类时,请遵循以下建议。
- 如果测试因前提条件不正确而失败,请验证您的 CTS 环境设置是否正确。这包括物理环境、台式机设置和 Android 设备设置。
- 如果测试显得极其不稳定,请验证设备稳定性、测试设置或环境问题。
- 如果测试仍然失败,请单独重试测试。
- 检查是否存在会导致测试失败情况的外部因素,例如:
- 环境设置。例如,配置有误的台式机设置可能会导致所有被测设备 (DUT)(包括参照设备)发生测试失败情况。
- 外部依赖项。例如,如果从特定时间点开始,多个网站中所有设备的测试均失败,可能是因为网址不正确。
- 如果 DUT 未包含安全补丁程序,其安全测试预计会失败。
- 验证并分析已通过测试和未通过测试的设备之间的区别。
- 分析断言、日志、错误报告和 CTS 源。 对于 HostTest,断言和日志可能比较泛化,因此,检查并附上设备 logcat 也很有帮助。
- 提交测试改进补丁程序来帮助减少测试失败的情况。
保存部分结果
当测试调用失败时,Tradefed 不会保存部分测试结果。
如果 Tradefed 未生成任何测试结果,则表明测试运行期间发生了严重问题,因此导致测试结果不可信。我们认为部分结果对您没有任何帮助,因为在调查问题设备时,这种结果是没有任何价值的。